【发布时间】:2021-09-05 06:59:11
【问题描述】:
注意
- 这个问题是关于带有
Transfer-Encoding标头的请求,不是响应 - 是的,请求可以使用
Transfer-Encoding标头 - 可以实现任何操作的网络浏览器,但就本问题而言,请将“网络浏览器”的定义限制为 Google Chrome、Mozilla Firefox、Microsoft Edge 和 Apple Safari .
背景
- 对于
XMLHttpRequest,Transfer-Encoding是forbidden header name - 对于
fetch,Transfer-Encoding是forbidden header name - 对于 HTML 中的链接或表单,[HTML 标准] (https://html.spec.whatwg.org/) 中没有明确引用
Transfer-Encoding - 它不是权威来源,但the PortSwigger article on request smuggling 声明“浏览器通常不会在请求中使用分块编码,并且通常只在服务器响应中看到。”
- 我能找到的唯一可能使用
Transfer-Encoding的参考是 Chrome 特定的 is behind an experimental flag,并且需要 a second, non-standard flag to enable it for HTTP/1.1
问题
- 是否存在 Web 浏览器会使用
Transfer-Encoding标头发出请求的情况?
【问题讨论】:
标签: google-chrome http firefox browser transfer-encoding