HTTP2: Qué es y que ventajas tiene

Cuando se navega por internet se produce un intercambio entre cliente y servidor, es decir, el navegador web del usuario envía una petición de acceso a un servidor web, y este le responde enviándole el contenido solicitado. Este intercambio de datos se realiza a través del protocolo de hipertexto, también conocido como protocolo de internet (HTTP).

Con el paso del tiempo y la evolución de internet, las necesidades de comunicación entre cliente y servidor han ido cambiando, siendo ahora mucho más exigentes. Por este motivo, el protocolo HTTP ha ido variando sus versiones para adaptarse a las necesidades de cada momento, hasta llegar a la versión actual HTTP2

A continuación, veremos qué es el protocolo HTTP2, cuáles son sus características más destacadas, y cómo se puede implementar.

Tabla de contenidos

¿Qué es HTTP2?

HTTP2 es la nueva versión del protocolo de internet HTTP (Hypertext Transfer Protocol) a través del cual se comunican los navegadores, servidores web y otros dispositivos de red. Con esta versión se pretende solucionar muchos de los problemas de la navegación y acceso a internet, donde los usuarios acceden a la red desde una amplia variedad de dispositivos (ordenadores, teléfonos móviles, tablets, smart tvs…), el número de usuarios que utilizan internet ha aumentado notablemente, y el tamaño de los archivos o paquetes que se intercambian es cada vez mayor.

Entre muchas de las ventajas que proporciona el nuevo protocolo de transferencia de hipertexto podemos destacar el incremento en la velocidad de transferencia entre cliente y servidor.

A lo largo del tiempo el protocolo HTTP ha ido variando en diferentes versiones:

  • Año 1991. HTTP 0.9.
  • Año 1996. HTTP 1.0.
  • Año 2001. HTTP 1.1.
  • Año 2016. HTTP 2.0.

HTTP2 VS HTTP 1.1

HTTP2 es una actualización de HTTP 1.1 por lo que conserva muchas de sus características, aportando nuevas funciones que lo adaptan a las necesidades de comunicación y transferencia actuales en redes e internet.

HTTP2 VS SPDY

SPDY es un protocolo desarrollado por Google en el año 2010 con el objetivo de mejorar el protocolo HTTP para disponer de mayor rendimiento en las peticiones y respuestas entre los navegadores y servidores web. Estaba enfocado en reducir la latencia a través de TCP y en comprimir la información enviada.

HTTP2 se basa en SPDY, implementando nuevas mejoras, por lo que la propia Google ha abandonado SPDY en favor de HTTP2.

Principales características de HTTP2

Con HTTP2 el funcionamiento será el mismo, un usuario realiza la petición de acceso desde su navegador, y el servidor web responderá a esa petición a través del nuevo protocolo, aunque con una serie de diferencias o matices.

Una única conexión

Cuando se establece una conexión entre cliente y servidor a través del protocolo HTTP 1.x se requieren diversas conexiones TCP de manera simultánea. Ahora, con HTTP2 solo es necesaria una única conexión para poder realizar múltiples solicitudes y recibir múltiples respuestas (pues se realiza en paralelo).

Eliminación de información redundante

La latencia o tiempo de respuesta es uno de los principales problemas de HTTP. Con HTTP se elimina la información repetida o redundante que se transfiere, lo que reduce de forma considerable el tiempo de respuestas disminuyendo la latencia.

Multiplexación

El cliente, al enviar peticiones al servidor, ya no necesita esperar una respuesta antes de enviar una nueva petición. Con la multiplexación, HTTP2 permite enviar y recibir diversos mensajes al mismo tiempo, lo que consigue una optimización de la transferencia, mejorando muchos factores importantes como la velocidad, y evitando problemas habituales de HTTP como la sobrecarga de los servidores.

Servicio Server Push

Con el servicio server push de HTTP2 se evitan muchas solicitudes innecesarias por parte del cliente. Cuando se realiza una petición, el propio servidor envía los archivos solicitados en la misma, pero también manda otros archivos que él considera necesarios para mostrar el contenido, evitando que el navegador realice nuevas peticiones para ello.

Esta característica de HTTP2 es clave para liberar a los servidores web de mucho trabajo, reduciendo de forma considerable el número de peticiones que reciben.

Compresión de Cabeceras

Las peticiones que realiza un cliente a un servidor suelen contener la misma cabecera o header, por lo que esa información se envía constantemente de forma repetida (información redundante).

HTTP2 soluciona este problema comprimiendo las cabeceras con el algoritmo HPACK, que además de reducir el tamaño de las cabeceras, elimina los datos redundantes y ayuda a prevenir de posibles vulnerabilidades (componente de seguridad).

Priorización de flujos

En las respuestas que envía un servidor web hay componentes que son más importantes que otros, por lo que es interesante que estos tengan prioridad. HTTP2 asigna una prioridad a cada fragmento que se envía en una respuesta, priorizando así por orden de importancia los datos que recibe el cliente.

Protocolo binario

Las transferencias en HTTP se realizan en formato texto, pasando ahora en HTTP2 a realizarse en formato binario, lo que reduce errores y permite un procesado mucho más rápido y eficiente de los datos intercambiados.

Cuáles son los beneficios de utilizar el protocolo HTTP2

Al utilizar el protocolo de internet en su versión HTTP2 se producen una serie de beneficios muy interesantes, entre los que podemos destacar:

1. Mejora la velocidad de carga

La principal ventaja del protocolo HTTP2, sobre todo a nivel de usuario, es que la velocidad de carga de las páginas web se ve incrementada

Como ya vimos anteriormente, muchas de las características de HTTP2 tienen una incidencia directa en la velocidad web, como la compresión de las cabeceras, la multiplexación o la priorización de los fragmentos transmitidos, haciendo que se pierda menos tiempo en la transferencia y que el contenido de las webs llegue antes al navegador.

2. Incrementa el rendimiento en dispositivos móviles

Hoy en día los usuarios utilizan de forma masiva los dispositivos móviles como smartphones y tablets, para navegar por internet y realizar compras online. El nuevo HTTP2 mejora el rendimiento en estos dispositivos al ser capaz de descifrar los nuevos lenguajes de codificación (más complejos) de forma más rápida y eficiente.

3. Disminución de los costes de internet

En la navegación habitual por internet, la información no pasa directamente de cliente a servidor web, sino que pasa por una serie de intermediarios o servidores intermedios. Esto tiene un coste económico que se reduce con el protocolo HTTP2 ya que se reducen los datos y las peticiones que se transfieren y realizan.

El resultado final es que los proveedores de internet ven abaratados sus costes, pudiendo ofrecer tarifas de acceso más rápidas a un menor coste para el usuario.

4. Aumento de la seguridad

Uno de los asuntos que más preocupa a usuarios, empresas y gobiernos es la seguridad de la información que se transmite por internet. El protocolo HTTP2 incluye mecanismos para incrementar la seguridad en la red, principalmente en dos aspectos:

  1. Está basado en código binario (unos y ceros) en lugar de texto como el HTTP, lo que permite proteger los datos intercambiados de forma más eficiente y segura.
  2. Con HTTP2 se añade una capa de seguridad TSL1.2 que mejora el cifrado de los datos personales y sensibles.

¿Cómo implementar HTTP2?

HTTP2 es compatible de forma retroactiva con HTTP en relación a las aplicaciones y contenido web, por lo que no afectará a la navegación web que experimenta el usuario, salvo en una mejora notable del rendimiento.

El navegador web debe ser compatible con HTTP2 para poder utilizar este protocolo de transferencia, algo que no es un problema pues la última versión de los principales navegadores web ya lo son (Edge, Opera, Firefox, Chrome o Safari, por ejemplo).

En cuanto a los servidores, es necesario realizar una serie de implementaciones y configuraciones técnicas para poder trabajar con el protocolo HTTP2, algo que hoy en día ya disponen la mayoría de servidores web.

El protocolo HTTP2 es la nueva versión del protocolo de internet que viene a resolver muchos de los problemas que tenía su versión anterior. La principal ventaja para los usuarios de navegar bajo HTTP2 es el rendimiento de las webs, con una carga mucho más rápida y libre de errores.