¿Qué es HTTP / 2? ¿Por qué es mejor que HTTP?

¿Qué es HTTP / 2.0 (HTTP / 2)?
HTTP / 2.0 es la última versión importante del protocolo HTTP utilizada por la red mundial, fue desarrollada por el Grupo de Trabajo HTTP de IETF, que mantiene el protocolo HTTP. Está compuesto por varios implementadores de HTTP, usuarios, operadores de red y expertos en HTTP.
HTTP / 2 se discutió por primera vez cuando se hizo evidente que SPDY estaba ganando terreno con los implementadores (como Mozilla y nginx) y mostraba mejoras significativas sobre HTTP / 1.x.

¿Por qué es mejor que HTTP / 1.x?

HTTP / 2.0 es binario, ¿cómo se beneficiará?
Los protocolos binarios son más eficientes para analizar, más compactos “en el cable”, y lo más importante, son mucho menos propensos a errores, en comparación con protocolos textuales como HTTP / 1.x.

HTTP / 2.0 está multiplexado, ¿cómo se beneficiará?
HTTP / 1.x tiene un problema llamado “bloqueo de cabecera de línea”, donde efectivamente solo una solicitud puede estar pendiente en una conexión a la vez.
HTTP / 1.1 intentó solucionar esto con la canalización, pero no resolvió por completo el problema (una respuesta grande o lenta aún puede bloquear a otros detrás de él). Además, se ha encontrado que la canalización es muy difícil de implementar, porque muchos intermediarios y servidores no la procesan correctamente.
Esto obliga a los clientes a usar una serie de heurísticas (a menudo adivinanzas) para determinar qué solicitudes poner en qué conexión al origen cuando; Como es común que una página cargue 10 veces (o más) el número de conexiones disponibles, esto puede afectar gravemente el rendimiento, lo que a menudo resulta en una “cascada” de solicitudes bloqueadas.
La multiplexación aborda estos problemas al permitir que múltiples mensajes de solicitud y respuesta estén en vuelo al mismo tiempo; Incluso es posible mezclar partes de un mensaje con otro en el cable.
Esto, a su vez, permite que un cliente use solo una conexión por origen para cargar una página.

HTTP / 2.0 admite el empuje del servidor, ¿cómo se beneficiará?
Cuando un navegador solicita una página, el servidor envía el HTML en la respuesta, y luego necesita esperar a que el navegador analice el HTML y emita solicitudes para todos los activos incrustados antes de que pueda comenzar a enviar JavaScript, imágenes y CSS.
Server Push permite al servidor evitar este retraso de ida y vuelta al “empujar” las respuestas que cree que el cliente necesitará en su caché.

HTTP / 2.0 admite compresión de encabezado, ¿cómo se beneficiará?
Esto se debe al mecanismo de inicio lento de TCP, que estimula los paquetes en nuevas conexiones en función de la cantidad de paquetes reconocidos, lo que limita de manera efectiva la cantidad de paquetes que se pueden enviar en los primeros viajes de ida y vuelta.
En comparación, incluso una compresión leve en los encabezados permite que esas solicitudes lleguen al cable dentro de un viaje de ida y vuelta, tal vez incluso un paquete.
Esta sobrecarga es considerable, especialmente cuando se considera el impacto en los clientes móviles, que generalmente ven una latencia de ida y vuelta de varios cientos de milisegundos, incluso en buenas condiciones.

Algunos beneficios principales serán:
1. Carga de página más rápida,
2. Conexiones más longevas,
3. Servidor push
4. Solicitud HTTP más barata

Puede leer la especificación técnica de HTTP / 2.0 aquí:
Protocolo de transferencia de hipertexto versión 2

HTTP, o Protocolo de transferencia de hipertexto, es la base de la comunicación de información a través de Internet y ha evolucionado constantemente desde principios de los años noventa.

La Web ha cambiado drásticamente, sin embargo, HTTP / 1.1 se ha mantenido como el caballo de batalla para la rápida modernización de la web.

HTTP / 2 hace que la navegación web sea aún más fácil y rápida. Tiene un menor uso de ancho de banda , lo que significa que HTTP / 2 finalmente puede hacer un uso completo de los últimos desarrollos en TI de los últimos 16 años que HTTP1.1 no pudo.

HTTP / 2 se centra en el rendimiento, particularmente en el usuario final, y elimina por completo algunos de los trucos que se desarrollaron para evitar problemas de versiones anteriores.

Lo principal de todo esto es que HTTP / 2 está altamente modernizado en comparación con la versión anterior y funciona mucho más rápido.

Puede realizar múltiples solicitudes simultáneamente, en lugar de tener que poner en cola los datos linealmente. Esto significa que los sitios se cargarán mucho más rápido y su uso de ancho de banda será más eficiente y le costará menos .

No muchos sitios web / empresas han adoptado HTTP / 2 todavía, aunque se está implementando lentamente y cada vez más plataformas están comenzando a admitirlo.

Una de las pocas compañías que usa HTTP / 2 es WPX Hosting, que se suma a las rápidas velocidades de su sitio.

HTTP / 2 es superior a HTTP en todos los sentidos y no hay razón para retrasar su uso.

hay un buen artículo sobre HTTP / 2 y el servidor push

puedes consultar el artículo en el servidor HTTP / 2 push

algunas de las principales conclusiones son

HTTP / 2 o HTTP 2.0 es una revisión importante del Protocolo de transferencia de hipertexto utilizado por la World Wide Web. Es la segunda generación de protocolo HTTP y una importante mejora en HTTP desde HTTP 1.1 de 1997.

HTTP / 2 proporciona una característica llamada Server Push
HTTP / 2 Server Push nos permite enviar recursos al usuario incluso antes de que realmente los solicite. Server Push es una forma efectiva de ahorrar tiempo de representación de la página web y lograr beneficios de rendimiento sobre HTTP 1.1

Aquí es donde entra en vigor Server Push. Server Push empuja preventivamente los activos del sitio web antes de que el usuario lo solicite explícitamente El administrador del sitio web puede planificar y enviar los recursos que el usuario pueda necesitar para la página que está solicitando.

Es sustancialmente diferente. Primero, es un protocolo binario. En segundo lugar, admite multiplexación para que pueda entregar múltiples recursos a través de una única conexión TCP / IP. En tercer lugar, permite que el servidor llene proactivamente la memoria caché del navegador (“también necesitará cargar ese recurso”, incluso antes de que el navegador haya analizado completamente el DOM).

También utiliza la compresión de encabezado y en realidad se basa en SPDY – Preguntas frecuentes sobre HTTP / 2.

Este blog HTTP2 – CronJ Blog ofrece una buena idea de qué y por qué HTTP / 2 es una mejor opción.