Проверка правильного формата для формата ответа HTTP / 1.1? А онлайн методы тестирования? - PullRequest
0 голосов
/ 20 января 2020

Я хочу написать простой веб-сервер на таком языке, как C. Я хочу знать, есть ли у меня правильный синтаксис для 200 OK и 404. Not Found.

rfc2616 говорит, что ответ должен быть:

Response = Status-Line
           * (( general-header
           | response-header
           | entity-header ) CRLF)
           CRLF
           [ message-body ]

Для меня ответ 200 OK будет в форме:

HTTP/1.1 200 OK\r\n
Content-Type: text/html\r\n

<html>\r\n
<head><title>test</title></head>\r\n
<body>Success!!</body>\r\n
</html>\r\n

и 404 Not Found ответ будет иметь форму:

HTTP/1.1 404 Not Found\r\n
Content-Type: text/html\r\n

<html>\r\n
<head><title>test</title></head>\r\n
<body>Not Found</body>\r\n
</html>\r\n

Должен ли вообще существовать Content-Type? Должна ли быть длина контента? Можно ли проверить, что мой ответ действителен в режиме онлайн?

Кроме того, на веб-сервере в C вы бы использовали write (), чтобы ответить клиенту правильно?

...