¿Cuál es la diferencia entre HTTP 1.1 y HTTP 2.0? [cerrado]

223

HTTP / 1.1 ha servido bien a la Web durante más de quince años, pero su antigüedad comienza a mostrarse.

¿Alguien puede explicar cuál es la principal diferencia entre HTTP 1.1 y 2.0?

¿Hay algún cambio en el protocolo de transporte?

ivanleoncz
fuente
1
daniel.haxx.se/http2/http2-v1.9.pdf Vea por usted mismo qué hay de nuevo en HTTP2
TylerH
1
este video se ve bien para hablar sobre esos temas youtube.com/watch?v=0L5Q_897fwk
Gujarat Santana
La sección 'Introducción' de tools.ietf.org/html/rfc7540 es la fuente más pura y mejor para la diferencia entre HTTP 1.1 y HTTP 2.0
bayCoder

Respuestas:

190

HTTP / 2 admite la multiplexación de consultas, la compresión de encabezados, la prioridad y una administración de transmisión de paquetes más inteligente. Esto da como resultado una latencia reducida y acelera la descarga de contenido en páginas web modernas.

Más detalles aquí.

84RR1573R
fuente
66
Solo para agregar uno más, http / 2 también especifica la inserción del servidor. Lea más sobre esto aquí: en.wikipedia.org/wiki/HTTP/2_Server_Push
Nitin Bansal
87

HTTP 2.0 es un binario protocolo que multiplexa numerosas secuencias que pasan por una única conexión TCP (normalmente cifrada con TLS).

El contenido de cada flujo son solicitudes y respuestas HTTP 1.1, simplemente codificadas y empaquetadas de manera diferente. HTTP2 agrega una serie de características para administrar las transmisiones, pero deja intacta la antigua semántica.

phihag
fuente
41
El cifrado TLS no es opcional. Puede ser opcional por el protocolo, pero no en el mundo real. Chrome y otros navegadores no aceptarán http2 sin https. Entonces, en el mundo real, si habilita http2 sin instalar un certificado en su servidor, los navegadores simplemente se conectarán con http1.
Patrick Collins el
@PatrickCollins En realidad, los navegadores se conectarán con HTTP2 pero solo iniciarán una descarga de la secuencia de paquetes binarios. Simplemente no saben cómo mostrar contenido HTTP2 sin SSL.
Avamander
3
Esta respuesta es engañosa al afirmar que http / 2 simplemente empaqueta y codifica las solicitudes http / 1.1. Hay diferencias especificas. Por ejemplo, los encabezados se envían por separado del cuerpo / carga útil. Además, el formato del encabezado ha cambiado ligeramente, donde en http / 1.x el método, la uri, los códigos de respuesta y las versiones de protocolo se pasan en la primera línea, llamada línea de solicitud. Http / 2 introduce el concepto de psuedoheaders, colocado antes que todos los otros encabezados y con el prefijo a :para manejar estos aspectos, excepto la versión del protocolo, que no tiene equivalente en http / 2.
Erikest
2
Además, aunque los encabezados no distinguen entre mayúsculas y minúsculas, el protocolo requiere la transmisión en minúsculas.
Erikest