HTTP / 1.1标头的新行定义

时间:2015-01-15 15:03:35

标签: http-headers httprequest 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. 有关此请求格式的任何建议吗?

  3. 感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您必须使用\r\n分隔标题,同时将正文与标题部分分开。见RFC 7230 (Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing), section 3. Message Format

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

CRLF\r\n

请求的其余部分是否有效,尤其是正文,取决于您发送给它的服务器。