HTTP 内容

在 HTTP 消息中,内容指的是消息体(紧跟在标头部分之后的)中的“信息”(位于 HTTP/1.1 分块传输编码的消息帧之后)。在 HTTP/1.1 中这也可以指的是“负载”,但是消息“内容”与 HTTP/2 和 HTTP/3 中的帧负载有所区别,因为单个帧中的数据可以是标头数据、主体数据或其他控制信息。

HTTP 请求和响应中的消息内容的目的取决于请求方法和响应状态码。例如,在 PUT 请求中,内容表示的是资源的期望状态,但在 POST 请求中,内容则是要处理的信息。对于 GET 请求的 200 OK 响应显示资源的当前状态,而错误响应描述了错误。

有些响应,例如对 HEAD 请求的响应或 204 No Content304 Not Modified 状态码的响应,根本不包含内容。

在下面的 HTTP/1.1 响应中,消息体包含内容 Mozilla Developer Network

http
HTTP/1.1 200 OK
Content-Type: text/plain

Mozilla Developer Network

在下一个 HTTP/1.1 响应中,传输编码将数据编码为块。最终的内容仍然是 Mozilla Developer Network,但消息体包含不同的消息数据以分隔块:

http
HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked

7\r\n
Mozilla\r\n
9\r\n
Developer\r\n
7\r\n
Network\r\n
0\r\n
\r\n

参见