2011-08-11 15 views
19

De acuerdo con "HTTP: La guía definitiva", utilizando¿Por qué Connection: keep-alive aún se especifica en los encabezados http (¿no está obsoleto)?

Connection: keep-alive 

para especificar una conexión persistente está en desuso en HTTP/1.1, ya que HTTP/1.1 especifica que las conexiones son persistentes por defecto y deben cerrarse manualmente mediante el envío

Connection: close 


Por lo tanto, mi suposición es que sencilla "Conexión: keep-alive" no debe usarse realmente más. Sin embargo, todavía parece vivo y bien. Por ejemplo, keep-alive se devuelve en la consulta siguiente:

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 

Mi pregunta es: ¿Por qué es conexion: keep-alive mantiene intacta en las cabeceras HTTP?

Una pregunta corolaria es: ¿Todavía hay (clientes, servidores, proxies, etc.) que todavía solo hablan HTTP/1.0 y sus variantes, o son la mayoría de esas entidades en HTTP/1.1 a partir de 2011?

Éstos son mis hipótesis de trabajo:

1) HTTP/1.0 ya no está en uso, es decir, b/c que era "muchos años" Hace

2) Teniendo en cuenta (1), keep-alive no debería usarse más, pero es puramente por razones vestigiales (es decir, ciertas tecnologías no se han molestado en quitarlo, o mantenerlo en torno a como código de vudú, etc.)

Si (1) es incorrecto, y HTTP/1.0 todavía está en uso, entonces seguro que parece plausible siga usando keep-alive, a pesar de las preguntas de seguimiento en la interoperabilidad HTTP 1.0-1.1.

¡Gracias de antemano por cualquier información compartida!

+1

Esta es una hipótesis incorrecta: "HTTP/1.0 ya no está en uso." Hay una gran cantidad de servidores proxy no deseados HTTP/1.0 en el mundo. Pero sí, creo que está principalmente allí porque es vudú. – EricLaw

+0

Gracias. De hecho, acabo de encontrar su respuesta relacionada: http://stackoverflow.com/questions/6257470/are-there-any-use-to-limit-yourself-to-http1-0/6257911#6257911 no dude en actualizar su comentario a una respuesta completa! – capdigi

Respuesta

14

HTTP/1.0 no tiene encabezados como Connection, pero hay muchas implementaciones diferentes de HTTP/1.0 y HTTP/1.1.

así Connection: keep-alive se utiliza 'Sólo en caso de'

Cuestiones relacionadas