HTTP标头中的Connection
和Proxy-Connection
之间有什么区别?
代理是否添加了Proxy-Connection
字段?还是客户端和服务器?代理,客户端或服务器在收到带有值keep-alive和close这两个字段的标题后会做什么?
答案 0 :(得分:14)
Connection
标头是HTTP 1.0和1.1规范(RFC 2068和RFC 2616)中定义的标准标头,用于维护HTTP连接上的保持活动行为。
Proxy-Connection
是由Netscape开发人员创建的实验性标题,由于对可以使用Connection
标头的误解而做类似的事情。它从未正常工作,并且被当今存在的许多常见HTTP系统所忽略。当它按设计工作时,两者之间没有区别。
答案 1 :(得分:0)
引自https://tools.ietf.org/html/rfc7230#appendix-A.1.2
在HTTP / 1.0中,每个连接都是由客户端在 请求,并在发送响应后由服务器关闭。 但是,某些实现实现了显式协商的 部分中介绍的(“保持活动”)版本的持久连接 [RFC2068]的19.7.1。
某些客户端和服务器可能希望与它们兼容 持久连接的先前方法,通过显式 用“连接:保持活动”请求标头为他们协商 领域。但是,HTTP / 1.0的一些实验性实现 持续连接有故障;例如,如果是HTTP / 1.0代理 服务器不了解连接,它将错误地转发 该标头字段到下一个入站服务器,这将导致 挂起的连接。
一种尝试的解决方案是引入代理连接 标头字段,专门针对代理。实际上,这 也是不可行的,因为代理通常部署在多个位置 层,带来了上面讨论的相同问题。
因此,鼓励客户端不要发送代理连接 标头字段。
还鼓励客户考虑使用Connection: 认真保持请求的积极性;他们可以启用持久性 与HTTP / 1.0服务器的连接,使用它们的客户端将需要 监视连接是否有“挂起”请求(这表明 客户应该停止发送标头字段),并且该机制应该 使用代理时,客户端完全不会使用该客户端。