HTTP/1.1 标头的新行定义

788*_*498 3 httprequest http-1.1 http-headers

我有一个发出 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
}
Run Code Online (Sandbox Code Playgroud)

我想在发送此请求时避免任何类型的错误。

  1. 严格来说,\n告诉new line或应该是正确的用法\r\n吗?

  2. 关于这个请求格式有什么建议吗?

谢谢你的帮助。

Cod*_*ter 7

您必须使用\r\n分隔标题,也将正文与标题部分分开。请参阅RFC 7230(超文本传输​​协议 (HTTP/1.1):消息语法和路由),第 3 节。消息格式

HTTP-message   = start-line
                  *( header-field CRLF )
                  CRLF
                  [ message-body ]
Run Code Online (Sandbox Code Playgroud)

CRLF正在\r\n

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