Tabla de contenido:
- ¿Qué es HTTP / 2?
- ¿Qué hace HTTP / 2?
- Secuencias multiplexadas
- Envío de servidor HTTP / 2 y envío de caché
- Protocolos binarios
- Priorización de transmisiones
- Compresión de encabezado con estado
- Beneficios del mundo real de HTTP / 2
- Envolver

2023 Autor: Kayla Nelson | [email protected]. Última modificación: 2023-05-24 12:02
En los últimos 20 años, la World Wide Web ha evolucionado drásticamente. Todas las tecnologías web mejoradas requieren soluciones y protocolos de comunicación y transferencia de archivos mejores y más rápidos que los actuales (HTTP) que están llegando a sus límites tecnológicos.

¿Qué es HTTP / 2?
HTTP / 2 es la versión más nueva de hipertexto Protocolo de transporte (HTTP): el protocolo subyacente utilizado por la World Wide Web. Se aprobó inicialmente en febrero de 2015. Eso es casi 20 años después del HTTP original. HTTP / 2 reduce los tiempos de carga y aporta grandes mejoras en la comunicación entre servidores y navegadores. La mayoría de los navegadores ya agregaron HTTP / 2 y no cambió muchas cosas desde la perspectiva de los usuarios. Esa es la razón principal por la que muchos de nosotros aún no lo hemos leído ni oído hablar de él.
¿Qué hace HTTP / 2?
Como sucesor de HTTP, HTTP / 2 se centra en mejorar todas las características de. Para mantener la compatibilidad con versiones anteriores del protocolo anterior, conserva la mayor parte de la funcionalidad de HTTP. Sin embargo, introduce algunas mejoras drásticas.
Tanto HTTP como HTTP / 2 definen:
- Qué acciones deben realizar los navegadores web y los servidores en respuesta a diferentes comandos.
- Cómo se transfiere cada bit de información de una computadora a otra a través de la web.
- Cómo se crean, formatean y transmiten los mensajes.
En otras palabras, HTTP y HTTP / 2 establecen los estándares sobre cómo se entrega el contenido web a su computadora, con la diferencia de que HTTP / 2 hace que todo sea más rápido que su predecesor. Aquí puede ver qué hace HTTP / 2 en detalle.
Secuencias multiplexadas
Las series bidireccionales de marcos de formato de texto que se envían a través del protocolo HTTP / 2 entre un servidor y un cliente se denominan "flujos". HTTP es capaz de transmitir solo uno de estos "flujos" a la vez. Después de que se envía la secuencia, hay un retraso de tiempo entre la siguiente transmisión de secuencia.
HTTP / 2 establece una nueva capa de entramado binario que resuelve directamente el problema de la transmisión de "flujos" uno por uno. Permite a los clientes y servidores desintegrar la carga útil HTTP / 2 en secuencias de tramas intercaladas diminutas, independientes y fáciles de administrar. Toda esta información se vuelve a reunir una vez que se recibe en el otro extremo. Este protocolo permite el intercambio de secuencias bidireccionales múltiples, abiertas al mismo tiempo e independientes sin latencia entre secuencias sucesivas.
Beneficios:
- Las solicitudes y respuestas multiplexadas en paralelo no se bloquean entre sí.
- La conexión TCP única puede garantizar la utilización eficaz de los recursos de la red incluso cuando se transmiten múltiples flujos de datos.
- Rendimiento web más rápido, latencia reducida y mejores resultados en los motores de búsqueda.
- Reducción de gastos de capital y gastos operativos en la ejecución de recursos de red y TI.

Envío de servidor HTTP / 2 y envío de caché
Esto es una capacidad que permite a los servidores enviar información adicional almacenable en caché a los clientes. Esa información no se solicita, pero está prevista para futuras solicitudes. Si el cliente solicita un recurso y se sabe que se hace referencia a otro recurso B con el solicitado, el servidor puede presionar B junto con en lugar de esperar otra solicitud del cliente. Luego, el cliente guarda el recurso empujado B en la caché para uso futuro. Esta función ahorra todo el proceso de ida y vuelta de solicitud-respuesta y reduce la latencia de la red. Google introdujo originalmente Server Push en el protocolo SPDY.
Otra mejora en HTTP / 2 es Cache Push. Esto actualiza o invalida de forma proactiva la caché del cliente. Esto brinda a los servidores la capacidad de identificar posibles recursos que se pueden enviar y que los clientes en realidad no desean.
Beneficios:
- Los clientes pueden rechazar los recursos insertados para mantener un repositorio eficiente de recursos en caché (o incluso deshabilitar Server Push por completo).
- Los clientes pueden limitar el número de transmisiones enviadas multiplexadas al mismo tiempo.
- Los servidores pueden priorizar los recursos empujados. Esto es clave en la diferencia de rendimiento entre HTTP / 2 y
- Los servidores pueden multiplexar recursos empujados junto con la información solicitada por el cliente dentro de la misma conexión TCP.
- Los clientes pueden utilizar los recursos almacenados en caché en diferentes páginas.
- Los clientes guardan los recursos insertados en la memoria caché.
Protocolos binarios
HTTP / 2 tiene capacidades significativamente mejoradas al transformar el protocolo de texto en protocolo binario. Mientras que HTTP se usa para procesar comandos de texto para ejecutar ciclos de solicitud-respuesta, HTTP / 2 se basa en comandos binarios. Eso acorta el tiempo (a 1 y 0) para ejecutar las mismas tareas.
Los navegadores compatibles con HTTP / 2 convertirán los comandos de texto en código binario antes de transmitirlos a través de la red. Sin embargo, la capa de entramado binario no es compatible con los servidores y clientes
Beneficios:
- Prevención de problemas de seguridad asociados con la naturaleza textual de HTTP (por ejemplo, ataques de división de respuesta).
- Habilita capacidades HTTP / 2 como compresión, priorización, multiplexación, manejo efectivo de TLS y control de flujo.
- Representación compacta de comandos que permite una implementación y un procesamiento más sencillos.
- Procesamiento de datos robusto y eficaz entre clientes y servidores.
- Rendimiento mejorado y latencia de red reducida.
- Menos posibilidades de errores en comparación con
- Utilización de recursos de red altamente eficiente.
- Baja sobrecarga en el análisis de datos.
- Huella de red más ligera.

Priorización de transmisiones
HTTP / 2 permite a los clientes proporcionar preferencias a flujos de datos particulares. Los servidores no están obligados a seguir las instrucciones de estos clientes, pero este mecanismo permite a los servidores optimizar la asignación de recursos de red según los requisitos del usuario..
La priorización de transmisiones funciona con el peso y las dependencias asignadas a cada transmisión. A pesar del hecho de que todas las transmisiones son inherentemente dependientes entre sí, excepto que tienen un peso asignado entre 1 y 256. Los mecanismos de priorización de transmisiones siguen siendo tema de debate. Sin embargo, cuando la Priorización de transmisión se combina con la capacidad HTTP / 2 de procesar múltiples flujos de datos en una sola conexión TCP, puede conducir a la llegada simultánea de solicitudes de servidor de diferente prioridad.
Beneficios:
- Reducción de los efectos negativos de las preocupaciones sobre la latencia de la red.
- Experiencia de usuario mejorada y velocidad de carga de la página.
- Optimización de la comunicación de datos entre servidores y clientes.
- Utilización de recursos de red altamente eficaz.
- Tiempo de entrega reducido para solicitudes de contenido principal.
Compresión de encabezado con estado
Cuando los usuarios navegan por sitios web con contenido rico en medios mediante HTTP, los clientes envían varios marcos de encabezado casi idénticos. Este es el caso porque cada solicitud de cliente debe incluir tanta información como el servidor requiera para realizar la operación solicitada. Este proceso conduce a la latencia y al consumo de recursos innecesarios.
HTTP / 2 incluye la capacidad de comprimir una gran cantidad de marcos de encabezado redundantes. Se basa en la especificación HPACK como enfoque seguro y simple para la compresión de encabezados.. Los clientes y servidores mantienen una lista de encabezados utilizados en solicitudes cliente-servidor anteriores. Esto aborda directamente las preocupaciones con los marcos de encabezado redundantes.
Beneficios:
- Codifica encabezados de uso común y encabezados grandes. Eso elimina la necesidad de enviar marcos de encabezado completos. El tamaño individual de cada flujo se reduce significativamente.
- Prevención de ataques de seguridad como CRIME que explora flujos de datos con encabezados comprimidos.
- Utilización eficiente de los mecanismos de multiplexación.
- Priorización de flujo eficiente.
- Gastos generales de recursos reducidos.

Beneficios del mundo real de HTTP / 2
HTTP / 2 se centra en maximizar el potencial de la tecnología, para satisfacer las necesidades y expectativas futuras. Estos son los beneficios del mundo real de usar HTTP / 2.
Rendimiento web y rendimiento web móvil - HTTP / 2 tiene la capacidad de enviar y recibir más datos en un ciclo de comunicación cliente-servidor. Funciona bien para reducir la latencia en el acceso a servicios de Internet en redes de datos móviles y redes con ancho de banda limitado por usuario.
Internet de alta velocidad más económico - HTTP / 2 aumenta la eficacia de la comunicación de datos. Eso permite a los proveedores de Internet reducir los gastos generales mientras mantienen los estándares de Internet de alta velocidad.
Seguridad - HTTP / 2 no es vulnerable a las amenazas dirigidas a los protocolos de capa de aplicación basados en texto. Además, utiliza el enfoque de "seguridad por oscuridad" para proteger la transmisión de datos confidenciales entre clientes y servidores.
Alcance expansivo - Las ventajas de HTTP / 2 reducen los resultados de Internet para los proveedores. Eso conducirá a una cobertura de Internet más amplia a nivel mundial.
Experiencia web rica en medios - Las características y ventajas tecnológicas que HTTP / 2 trae a la World Wide Web proporcionan una infraestructura capaz de entregar contenido rico en medios a velocidades de carga de página más rápidas.
Envolver
HTTP / 2 es un protocolo relativamente nuevo, pero su soporte crece continuamente. Hoy en día, la mayoría de los navegadores de Internet son compatibles con HTTP / 2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome para Android). Muchos servidores web incluyen soporte nativo HTTP / 2 (Apache HTTP Server, Tomcat, NGINX). Sin duda, HTTP / 2 es el protocolo WWW del futuro.