gpt4 book ai didi

http - 为什么 curl 发送 Proxy-Connection header ,即使 RFC 似乎不鼓励它?

转载 作者:行者123 更新时间:2023-12-03 15:15:37 37 4
gpt4 key购买 nike

RFC 7230 , 超文本传输​​协议(protocol) (HTTP/1.1):appendix 中的消息语法和路由状态:

As a result, clients are encouraged not to send the Proxy-Connection header field in any requests.


为什么是 curl然后在使用代理时发送此 header ?
$ http_proxy=0.0.0.0:8080 curl -v http://google.com
...
> Accept: */*
> Referer:
> Proxy-Connection: Keep-Alive
>
...
我正在使用 curl 7.71.1在 x86_64-pc-linux-gnu 上。

附录:这是另一种协议(protocol),但 HTTP/2 明确禁止 Connection和相关字段,根据 RFC 7540 Section 8.1.2.2

最佳答案

多么棒的问题!谢谢你的提问。
这是网络上的一个例子,其中规范和我们应该做的事情与现实并不真正匹配,如果我们尝试遵循这些书面指南会发生什么!
早在 2016 年,我们(在 curl 项目中)实际上删除了 Proxy-Connection: Keep-Alive正是出于这个原因,从 curl 请求到代理的 header :这不是必需的,因为协议(protocol)暗示保持事件状态并且规范是这样说的!
然后(在那次改变之后)我们立即收到了一系列错误报告 来自那些代理连接完全中断并且持久连接根本无法工作的人......一旦我们恢复了这个改变,一切都会重新开始工作。
所以也许在 2026 年左右,事情已经发生了足够的变化,所以我们可以再次进行该实验。在那之前,我们将此 header 保留在代理请求中,以便所有那些正在使用的蹩脚的旧代理都不会失效!
万维网是一个疯狂的地方。

关于http - 为什么 curl 发送 Proxy-Connection header ,即使 RFC 似乎不鼓励它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62722430/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com