如果HTTP Content-Length与实际体型不同,该怎么办?

Dar*_*n S 8 http http-headers

如果HTTP服务器发送带有Content-Length标头的回复和略大于该长度的消息体,那么处理这种不匹配的方法是什么?我应该默默地忽略额外的数据吗?我没有在HTTP/1.1 RFC中看到这个,它只是说应该始终匹配.看起来可能有一些错误的服务器在那里没有做到这一点.

谢谢.

Jul*_*hke 4

长度由 Content-Length 标头字段(或分块编码,或关闭连接)定义。

如果长度不“匹配”,则意味着额外的字节属于下一条消息。如果这些额外的字节不代表额外的 HTTP 消息,那就是通信错误。直接关闭连接并报错即可。

(参见https://greenbytes.de/tech/webdav/rfc7230.html#message.body.length

  • 我这样做绝对没问题,并且仍然希望获得引用。能够做到这一点是该网站和开放标准都非常出色的部分原因。事实上,为了未来读者的利益而添加了引文,这一事实就证明了:) (5认同)