HTTP/2 es una importante actualización del estándar HTTP , cuyo objetivo es mejorar la velocidad y la seguridad de las interacciones cliente-servidor en Internet. HTTP/2 agrega varias características nuevas mientras mantiene la compatibilidad con versiones anteriores, por lo que los navegadores y servidores sin soporte para HTTP/2 continúan funcionando bien, mientras que aquellos que lo tienen pueden aprovechar las mejoras de rendimiento.
El objetivo principal de las mejoras de HTTP/2 es la velocidad. Una limitación importante de HTTP/1 es que solo se permite una solicitud de recursos a la vez en una conexión determinada. Para minimizar los tiempos de carga de las páginas web compuestas por docenas de imágenes, scripts y hojas de estilo (como la mayoría), los navegadores generalmente abren múltiples conexiones HTTP/1 a un sitio a la vez para poder solicitar recursos en paralelo, con una sobrecarga significativa requerida para cada conexión. HTTP/2 utiliza conexiones multiplexadas para transmitir múltiples recursos a través de una única conexión, lo que reduce significativamente la cantidad de conexiones entre clientes y servidores web.
HTTP/2 también aprovecha ampliamente la compresión, lo que mejora el rendimiento al reducir el uso de ancho de banda. En HTTP/2, los encabezados se envían como datos binarios comprimidos en lugar de como texto plano legible por humanos. Este ahorro significativo de ancho de banda compensa el pequeño aumento en la carga de la CPU necesario para comprimir y descomprimir los encabezados, así como la inconveniencia de que los usuarios humanos no puedan leerlos directamente (por ejemplo, para fines de depuración).
HTTP/2 también introduce la priorización de recursos para mejorar la experiencia del usuario al cargar la página. Los navegadores web y otros clientes ahora pueden indicar el orden en que desean recibir recursos. Los navegadores con buen soporte HTTP/2 pueden renderizar páginas significativamente más rápido al priorizar los recursos que el usuario necesita ver primero. Las primeras pruebas del rendimiento de HTTP/2 han demostrado que algunas páginas se cargan casi el doble de rápido.
Si bien HTTP/2 no cambió explícitamente los requisitos de seguridad para HTTP, casi todos los navegadores que usan HTTP/2 requieren que SSL/TLS esté habilitado en el sitio web, lo que lo hace obligatorio para todos los efectos. Debido a que HTTP/2 utiliza una única conexión multiplexada por cliente, el costo de proteger sitios web ha disminuido considerablemente. En lugar de tener que realizar un protocolo de enlace SSL/TLS (donde los clientes y servidores verifican identidades e intercambian claves de cifrado) para cada una de las muchas conexiones abiertas por un navegador, solo se realiza una para cubrir toda la duración de una sesión de cliente.
NGINX Plus
Es probable que HTTP/2 y TLS mejoren el rendimiento de su sitio y brinden a los usuarios la confianza de que su interacción con el sitio es segura. Ya sea que esté implementando HTTP/2 por primera vez o alcanzando a sus competidores, le recomendamos ver esta charla de conferencia para obtener un análisis detallado de las características, ventajas y desventajas de HTTP/2.