Почему Connection: keep-alive все еще указывается в заголовках http (разве это не устарело)?

Согласно «HTTP: Полное руководство», используя

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

Мой вопрос: Почему Connection: keep-alive все еще указывается в заголовках HTTP?

В связи с этим возникает следующий вопрос: Есть ли все еще (клиенты, серверы, прокси-серверы и т. д.), которые по-прежнему используют только HTTP/1.0 и его варианты, или большинство таких объектов используют HTTP/1.1 по состоянию на 2011 год?

Вот мои рабочие гипотезы:

1) HTTP/1.0 больше не используется, т.к. это было "много лет" назад

2) Учитывая (1), keep-alive не следует больше использовать, но используется исключительно по рудиментарным причинам (то есть некоторые технологии не удосужились его удалить). , или сохранить его как код вуду и т. д.)

Если (1) неверно, а HTTP/1.0 все еще используется, то, конечно, представляется правдоподобным продолжать использовать поддержку активности, несмотря на дополнительные вопросы по взаимодействию HTTP 1.0-1.1.

Заранее спасибо за любые идеи, которыми поделились!


person capdigi    schedule 11.08.2011    source источник
comment
Это неверная гипотеза: HTTP/1.0 больше не используется. В мире существует довольно много дрянных прокси-серверов, поддерживающих только HTTP/1.0. Но да, я считаю, что это в основном потому, что это вуду.   -  person EricLaw    schedule 12.08.2011
comment
Спасибо. На самом деле я только что нашел ваш связанный ответ: title="есть ли смысл ограничивать себя http1 0">stackoverflow.com/questions/6257470/, не стесняйтесь обновить свой комментарий до полного ответа!   -  person capdigi    schedule 14.08.2011


Ответы (1)


HTTP/1.0 не имеет таких заголовков, как Connection, но существует множество различных реализаций HTTP/1.0 и HTTP/1.1.

поэтому Connection: keep-alive используется "На всякий случай"

person TheHorse    schedule 12.08.2011