当前位置:  开发笔记 > 后端 > 正文

为什么Connection仍然在http标头中指定了keep-alive(是不是已弃用)?

如何解决《为什么Connection仍然在http标头中指定了keep-alive(是不是已弃用)?》经验,为你挑选了1个好方法。

根据"HTTP:The Definitive Guide",使用

Connection: keep-alive

指定持久连接在HTTP/1.1中已弃用,因为HTTP/1.1指定默认情况下连接是持久的,必须通过发送手动关闭

Connection: close


因此,我的简单假设是"连接:保持活着"不应该再被使用了.然而,它仍然看起来还活着.例如,在以下查询中返回keep-alive:

curl -I https://foursquare.com

HTTP/1.1 200 OK
Server: nginx/0.8.52
Date: Thu, 11 Aug 2011 21:15:45 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Expires: Thu, 11 Aug 2011 21:15:45 UTC
Set-Cookie: XSESSIONID=w19~kqtn4bpqmfq51p8qolstpk6ti;Path=/;Secure;HttpOnly
Set-Cookie: LOCATION=49.25::-123.13330078125::Hockeytown::CA;Path=/;Secure
Set-Cookie: bbhive=OQ32XATE0OQAEVCY0IVSWUDPQ1A2GT
Content-Length: 38815
Cache-Control: no-cache, private, no-store
Pragma: no-cache

我的问题是:为什么在HTTP标头中仍然指定了Connection:keep-alive?

一个必然的问题是:是否还有(客户端,服务器,代理等)仍然只能说HTTP/1.0及其变体,或者在2011年的HTTP/1.1上是大多数此类实体?

以下是我的工作假设:

1)HTTP/1.0不再使用,b/c是"很多年前"

2)鉴于(1),保持活动不应再使用,但是纯粹为残留的原因(也就是,某些技术还没有费心去删除它,或围绕保持它作为巫术代码等)

如果(1)不正确,并且HTTP/1.0仍在使用中,那么尽管HTTP 1.0-1.1互操作上有后续问题,但仍然可以确定使用keep-alive似乎是合理的.

提前感谢您分享的任何见解!



1> TheHorse..:

HTTP/1.0没有类似的标题Connection,但HTTP/1.0和HTTP/1.1有许多不同的实现.

所以Connection: keep-alive用' 以防万一 '

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有