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

Согласно" HTTP: The Definitive Guide ", используя

Connection: keep-alive

для указания постоянного соединения устарело в HTTP / 1.1, поскольку HTTP / 1.1 указывает, что соединения являются постоянными по умолчанию и должны быть закрыты вручную, отправив

Connection: close


Таким образом, мое простое предположение состоит в том, что "Connection: keep-alive" не должно ' больше не может быть использовано. Однако он все еще кажется живым и здоровым. Например, 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 больше не используется, b / c, которое было «много лет назад»

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

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

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

19
задан informatik01 28 January 2014 в 07:37
поделиться