HTTP 响应数据超过内容长度时的代理/网关行为
Posted
技术标签:
【中文标题】HTTP 响应数据超过内容长度时的代理/网关行为【英文标题】:Proxy / gateway behaviour if HTTP response data exceeds content length 【发布时间】:2013-07-17 06:50:50 【问题描述】:当 http 服务器发送数据大小超过内容长度的 HTTP 响应时,代理/网关应该如何表现? 将其作为不符合 RFC 的规定予以删除是一种可行的方法,但看起来今天有相当多的实现/部署具有此行为,而此更改最终会破坏这些 URL。
非常感谢任何见解/指针。
谢谢, 开发
【问题讨论】:
【参考方案1】:如果数据大小超过内容长度,则线路上的剩余字节被视为对下一个(流水线)请求的响应的一部分。
如果没有与该响应匹配的未完成请求,请参阅https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p1-messaging-26#section-3.3.3 -
If the final response to the last request on a connection has been
completely received and there remains additional data to read, a user
agent MAY discard the remaining data or attempt to determine if that
data belongs as part of the prior response body, which might be the
case if the prior message's Content-Length value is incorrect. A
client MUST NOT process, cache, or forward such extra data as a
separate response, since such behavior would be vulnerable to cache
poisoning.
【讨论】:
以上是关于HTTP 响应数据超过内容长度时的代理/网关行为的主要内容,如果未能解决你的问题,请参考以下文章