http - varias - superponer graficas en r
¿HTTP/1.0 sigue en uso? (7)
A partir de 2016, usted pensaría que la importancia disminuiría aún más desde que se introdujo 1.1 en 1999, por lo que es aproximadamente 17 años.
Revisé 7,727,198 líneas de registros para ver qué porcentaje obtengo de HTTP/1.0
y HTTP/1.1
:
Protocol Counts Percent
--------------------------------
HTTP/0.9 0 0.00%
HTTP/1.0 1,636,187 21.17% (all)
HTTP/1.0 15,415 0.20% (without the obvious robots)
HTTP/1.1 6,091,011 78.83%
HTTP/2 0 0.00%
Por lo que puedo ver, la mayoría de los HTTP/1.0
son de robots. Así que traté de eliminar las entradas que eran obviamente de ese tipo (es decir, el agente incluye la palabra robot, bot, slurp, etc.)
Por lo tanto, parece que la cantidad de usuarios finales aún con HTTP/1.0
es muy limitada hoy (0.2%). Sin embargo, si desea permitir que los robots visiten sus sitios web, es posible que necesite / quiera mantener HTTP / 1.0 operativo. De todos modos, la mayoría incluirá el encabezado Host: ...
aunque anuncien su conexión como un HTTP/1.0
.
Además, las diferencias entre HTTP/1.0
y HTTP/1.1
son muy borrosas en términos de implementación. La mayoría de las personas están mezclando felizmente ambos. No me preocuparía mucho por seguir aceptando / manejando solicitudes HTTP/1.0
.
En otro servidor estoy empezando a ver solicitudes HTTP/2.0
que se parecen a esto (obtuve 2427 y veo 34,161,268 solicitudes HTTP/1.0
y HTTP/1.1
, así que 0.007%):
PRI * HTTP/2.0
Digamos que uno es escribir un servidor / cliente HTTP, ¿qué tan importante es soportar HTTP / 1.0? ¿Todavía se utiliza en cualquier lugar hoy en día?
Edit: Estoy menos preocupado por la utilidad / importancia de HTTP / 1.0, más bien por la cantidad de software que realmente lo usa para fines no internos (las pruebas de unidades son de uso interno, por ejemplo) en el mundo real (navegadores, robots, Teléfonos inteligentes / estúpidos, etc ...).
HTTP / 1.0 es muy importante para escribir clientes muy básicos que no necesitan la sobrecarga de todas las cosas 1.1, como la canalización y otras cosas complicadas requeridas por 1.1. Publicar una solicitud obtener una respuesta y desconectar es muy fácil de codificar. Esto puede ser útil para escribir casos de prueba para su servidor que solo quiere probar la funcionalidad de la aplicación y NO la implementación del protocolo HTTP.
Hay muchos navegadores móviles y aplicaciones que usan 1.0 porque no tienen el espacio o la necesidad de implementaciones 1.1 más sofisticadas, y los problemas de latencia con conexiones que no son 3G en teléfonos no inteligentes anulan completamente los beneficios de las características 1.1.
También hay muchos proxies que degradan todo a 1.0 independientemente de lo que solicite el cliente, y luego hay problemas de IE.
Entonces, la respuesta corta es, para un servidor HTTP de propósito general, 1.0 es muy relevante.
IME ha pasado mucho tiempo desde que vi una verdadera solicitud HTTP / 1.0. (incluidos los dispositivos móviles fuzzylollipop).
Digo una verdadera solicitud ya que MSIE aún (pretende) bajar a HTTP / 1.0 de manera predeterminada (a menos que se encuentre en la configuración) cuando se conecta a través de un proxy (todas las solicitudes salientes están marcadas como HTTP / 1.0). Sin embargo, todavía incluye HTTP / 1.1 especifica los encabezados de solicitud y respeta todas las respuestas HTTP / 1.1.
Curiosamente, IIS, en una imagen reflejada, ignora felizmente la versión HTTP (aunque no he experimentado mucho con esto para ver si solo hace esto para los agentes de usuario de MSIE).
Entonces, por curiosa coincidencia, MSIE e IIS funcionan mucho mejor con proxies que con herramientas que cumplen con los estándares.
DO.
Lo uso todo el tiempo cuando estoy haciendo telnet a un servidor para verificar la conectividad o averiguar por qué no funciona:
$ telnet 192.168.1.1 80
GET / HTTP/1.0/r/n
/r/n
...
(Debido a que hacer una solicitud 1.0 no requiere que proporcione ningún encabezado adicional).
Mirando en esto yo mismo para otros propósitos:
"HTTP / 1.0 está siendo utilizado por los proxies, algunos clientes móviles e IE cuando está configurado para usar un proxy. Por lo tanto, parece que 1.0 aún representa un% no trivial de tráfico en la web en general. Sí, hay muchos 1.0 clientes todavía por ahí ".
Fuente (julio de 2009): http://groups.google.com/group/erlang-programming/msg/08f6b72d5156ef74
:-(
Actualización (marzo 2011):
Si va a construir una cosa cliente / servidor, haga que el cliente use HTTP / 1.1, y haga que el servidor acepte tanto 1.1 como 1.0. Haciendo desarrollo web, es un PITA lograr que los clientes intenten cargar una página sin el encabezado del Host, porque no tengo forma de saber qué sitio debo cargar: -S, entonces es mejor que no construyas un cliente así. ;-)
Un número razonable de servidores devolverá deliberadamente respuestas HTTP / 1.0 porque algunos navegadores (más antiguos) proporcionarán a un servidor HTTP / 1.0 un límite de conexión más alto que el límite de 2 conexiones impuesto para las conexiones persistentes de HTTP / 1.1.
Pero en general, la mayoría de las implementaciones "HTTP / 1.0" son en realidad versiones ligeramente limitadas de las implementaciones de HTTP / 1.1, y muchas implementaciones de HTTP / 1.1 no son compatibles con algunas características de esa versión (por ejemplo, la canalización en particular).
wget
utiliza HTTP / 1.0, y aún es relativamente popular (aunque admite algunas características de HTTP / 1.1 como el encabezado Host:
que es necesario para acceder a cualquier host virtual).