Новое определение строки для заголовков HTTP/1.1

У меня есть встроенная система, которая делает запрос HTTP POST, однако я знаю, что заголовки должны иметь формат.

В этом случае у меня есть этот запрос:

POST / HTTP/1.1\n
Host: 192.168.1.15\n
Connection: close\n
Content-Length: 44\n
Content-Type: application/json\n
\n
{\n
"command": "snapPicture",\n
"selfTimer": 0\n
}

Я хочу избежать каких-либо ошибок при отправке этого запроса.

  1. Строго говоря, правильно ли использовать \n, чтобы сообщить new line, или должно быть \r\n?

  2. Любое предложение об этом формате запроса?

Спасибо за вашу помощь.


person 788498    schedule 15.01.2015    source источник


Ответы (1)


Вы должны использовать \r\n для разделения заголовков, а также для отделения тела от раздела заголовка. См. RFC 7230 (Протокол передачи гипертекста (HTTP/1.1): синтаксис и маршрутизация сообщений), раздел 3. .Формат сообщения:

HTTP-message   = start-line
                  *( header-field CRLF )
                  CRLF
                  [ message-body ]

CRLF был \r\n.

Действительна ли остальная часть запроса, особенно тело, зависит от сервера, на который вы его отправляете.

person CodeCaster    schedule 15.01.2015