POST或PUT方法需要请求标头字段中的内容长度。
另一种方法(GET,PATCH,DELETE,OPTIONS,CONNECT,TRACE,HEADER)是否还需要内容长度?
关于Response中的内容长度,规范在rfc2616中描述。
Content-Length entity-header字段指示实体主体的大小,以十进制数量的OCTET发送给接收者,或者在HEAD方法的情况下,指示实体主体的大小。如果请求是GET,则已发送。
虽然,我找不到关于请求标题的规范..
答案 0 :(得分:1)
HTTP规范已从RFC2616更新。请参阅以下内容:
Specifically Section 3.3.2 of RFC7230
当请求包含有效负载主体并且未设置Transfer-Encoding标头时,应该发送内容长度。
因此,即使POST或PUT只需要在有一个长度的主体时发送Content-Length,这通常就是由于操作而发生POST和PUT的情况。
发送Content-Length为0表示没有正文没有问题,但是没有Content-Length或Transfer-Encoding就暗示了这一点。
这些只是规格,所以你的里程可能因不同的http实施而有所不同。