Подтвердить что ты не робот

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

В соответствии с "HTTP: окончательное руководство", используя

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 interop.

Заранее благодарим за любые идеи!

4b9b3361

Ответ 1

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

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