HTTP2: Qué es? Ventajas comparandolo con http 1.1

HTTP2: Qué es? Ventajas comparandolo con http 1.1

HTTP (Hypertext Transfer Protocol) es el protocolo que permite la transferencia de información a través de la web. Este protocolo fue lanzado en 1991 y desde ahí ha ido evolucionando hasta llegar a la versión es más ampliamente conocida la 1.1.

Al inicio de la historia el protocolo HTTP solo permitía realizar peticiones sin especificar el verbo, es decir solo se podían hacer peticiones GET.

¿Qué es HTTP/2?

HTTP/2 es un protocolo binario que conserva la misma semántica que el protocolo HTTP1.X lo que significa que todos los verbos, cabeceras, etc. siguen funcionando sin cambios. De hecho, HTTP/2 busca resolver los defectos que tiene la comunicación a través TCP (la capa de transporte dentro del protocolo HTTP).
Muchos consideran a HTTP/2 el reemplazo del protocolo SPDY que desarrollo Google para mejorar el rendimiento de sus servicios en su navegador Chrome, de hecho el protocolo HTTP/2 está basado en algunas de las ideas del protocolo SPDY, el cual actualmente se considera obsoleto pues se ha apostado completamente por el protocolo HTTP/2.

 

¿Como funciona?

Es probable que quieran saber realmente que diferencia puede tener este estándar en el uso de los usuarios finales, así que veamos una demostración.

Y como una imagen vale más que mil palabras veamos la comparativa entre cargar una imagen compuesta de muchas imágenes a través de HTTP/1.1 y a través HTTP/2.

 

Pueden probarlo ustedes mismos en https://http2.akamai.com/demo

 

HTTP vs HTTP/2: ¿qué es lo que cambia?

La respuesta rápida es la velocidad a la que trabaja. HTTP/2 se basa en SPDY, un protocolo presentado en 2009 por Google con la intención de acelerar las webs. En ese entonces se hablaba de un aumento del 22-60% de la velocidad de carga de las webs convencionales y un aumento del 39-55% en el caso de las webs con SSL.

¿Cómo se consigue ese aumento de velocidad tan significativo? Pues multiplexando las peticiones que reciben los servidores por parte de los usuarios y sus navegadores web. Es decir: que esos servidores puedan atender varias peticiones al mismo tiempo. Eso también ahorra en cantidad de conexiones, liberando de trabajo a los servidores. Este gráfico lo explica bien:

 

 

Además los servidores podrán ser proactivos: reconocerán qué tipo de cliente (navegador web) ha enviado una petición y, además de enviar la respuesta que necesita, enviará también respuestas con datos que ya sabe que el navegador va a necesitar antes de que éste los pida en una nueva petición. Por ejemplo: mientras que con HTML tenemos que cargar primero todo el HTML de la web para después cargar su contenido (CSS, imágenes), con HTTP/2 podemos cargar todo ese contenido al mismo tiempo que el mismo HTML base.

Para los desarrolladores, quizás la novedad que más van a notar es la de los frames. Pasamos de la estructura de header y body en HTML a dividirlo todo en «frames» binarios, que vienen a ser porciones de código identificables como esos header y body que se pueden enviar antes de que el servidor envíe la respuesta del elemento HTML que se ha enviado anteriormente. Esto también ayuda a comprimir mejor el contenido de los headers, que a su vez facilita todavía más una carga rápida de todos los datos.

El cifrado es quizás la novedad que ha traído más debate: HTTP/2 está preparado para aceptar solicitudes cifradas (de la misma forma que ya hace HTTPS) y es algo completamente obligatorio. La mayoría de navegadores modernos (entre ellos Safari, Firefox, Chrome, Edge, Opera) sólo aceptarán comunicaciones HTTP/2 si están cifradas.

 

× Consultas por Whatsapp