¿Qué es HTTP / 2 y qué hace?



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

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 . Fue aprobado 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 HTTP . 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 el flujo, hay un retraso de tiempo entre la siguiente transmisión del flujo.

HTTP / 2 establece una nueva capa de entramado binario que resuelve directamente el problema con la transmisión de 'flujos' uno por uno. Permite a los clientes y servidores desintegrar la carga útil HTTP / 2 en secuencias de tramas entrelazadas pequeñas, independientes y fáciles de administrar. Toda esta información se vuelve a ensamblar 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í.
  • Una sola conexión TCP puede garantizar una 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é

Esta 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 A y se sabe que se hace referencia a otro recurso B con el solicitado, el servidor puede enviar B junto con A 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 un proceso completo 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 empujados 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 simultáneamente.
  • Los servidores pueden priorizar los recursos empujados. Esta es una clave en la diferencia de rendimiento entre HTTP / 2 y HTTP.
  • 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 un 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 por la red. Sin embargo, la capa de entramado binario no es compatible con los servidores y clientes HTTP.

Beneficios:

  • Prevención de problemas de seguridad asociados con la naturaleza textual de HTTP (por ejemplo, ataques de división de respuesta).
  • Habilita las 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 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 HTTP.
  • 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 para 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 transmisión funciona con el peso y las dependencias asignadas a cada transmisión. A pesar del hecho de que todas las transmisiones son inherentemente dependientes unas de otras, excepto que tienen un peso asignado entre 1 y 256. Los mecanismos de priorización de transmisiones siguen siendo un tema de debate. Sin embargo, cuando la priorización de transmisiones se combina con la capacidad HTTP / 2 de procesar múltiples transmisiones de datos en una sola conexión TCP, puede llevar 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 en 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 genera latencia y 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 un 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 explorando 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 aporta 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 (Servidor HTTP Apache, Tomcat, NGINX). Sin duda, HTTP / 2 es el protocolo WWW del futuro.

5 minutos de lectura