如果HTTP内容长度与实际正文大小不同,该怎么办?

如果HTTP内容长度与实际正文大小不同,该怎么办?,http,http-headers,Http,Http Headers,如果HTTP服务器发送的回复包含内容长度标头和略大于该长度的消息正文,那么可以采用什么方式处理此不匹配?我应该默默地忽略额外的数据吗?我没有在HTTP/1.1 RFC中看到这一点,它只是说它应该始终匹配。只是看起来可能有一些有缺陷的服务器没有做到这一点 谢谢。长度由内容长度标题字段定义(或分块编码,或关闭连接) 如果长度不“匹配”,这意味着额外的字节属于下一条消息。如果这些额外的字节不代表额外的HTTP消息,那就是通信错误。只需关闭连接并报告错误 (请参阅)通过HTTP状态代码定义,返回一个“4

如果HTTP服务器发送的回复包含内容长度标头和略大于该长度的消息正文,那么可以采用什么方式处理此不匹配?我应该默默地忽略额外的数据吗?我没有在HTTP/1.1 RFC中看到这一点,它只是说它应该始终匹配。只是看起来可能有一些有缺陷的服务器没有做到这一点


谢谢。

长度由内容长度标题字段定义(或分块编码,或关闭连接)

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


(请参阅)

通过HTTP状态代码定义,返回一个“400错误请求”,并通知客户端响应两个长度不匹配似乎是最合适的操作

10.4.1 400错误请求


由于语法错误,服务器无法理解该请求。未经修改,客户端不应重复请求

多少钱一点点?这种差异可以用某种编码来解释吗?@Oded即使使用不同的编码,它是否仍然应该匹配?是的,但内容长度应该是流中的实际字节数,因此它仍然需要匹配match@Oded,例如,如果编码更改,则必须更改内容长度too@Oded正确的,因此,您的意思是,可能使用字符数而不是字节数错误地设置了内容长度。不,这是不对的。服务器端存在压缩,并且内容长度实际上可以小于响应主体中实际接收到的内容。重要的是声明的内容长度(在没有其他信息的情况下)。检查规范。@JulianReschke需要引用。@BenjaminGruenbaum您正在与HTTP规范的实际作者之一争论。我做得非常好,仍然希望引用。能够做到这一点是使这个网站和开放标准都非常棒的一部分。事实上,为了未来读者的利益添加了一条引文就是一个证明,如果: