HTTP/2 para mejorar y acelerar Internet

Navegador HTTP Stackscale

La historia de la web sigue siendo joven, aunque no lo parezca. El protocolo web HTTP/1.0 fue aprobado en la RFC 1945 en 1996 y solo 3 años después se aprobó el estándar que usan la mayoría de servidores web del mundo, el HTTP/1.1. Ahora es el turno del protocolo web HTTP/2.

El RFC para el nuevo estándar web HTTP/2.0 es de 2015, por lo que quizás aún es pronto para hablar de su uso real e implementación. La realidad es que gracias a muchos servicios de CDN y a la ayuda de las recomendaciones de uso de grandes como Google, su uso se está extendiendo de forma realmente rápida. Desde Stackscale también recomendamos su uso y ya son muchos los proyectos que hacen uso de HTTP/2.0 en nuestras plataformas de cloud. Empezamos por una breve introducción del HTTP, para enter mejor qué es y el porqué de la versión 2.0.

¿Qué es y de dónde viene HTTP?

La necesidad de contar con protocolos de comunicación sencillos llevó a los científicos del CERN a la creación del HTTP combinando diferentes tecnologías:

  • Documentos de Hipertexto.
  • Recuperación de la información basada en la red.
  • El lenguaje Standard Generalized Markup Language (SGML).

La combinación de estas tecnologías engloban lo que conocemos como protocolo HTTP, que facilita la comunicación y acceso a la información en Internet. El protocolo HTTP no tiene estado, es decir, cada comunicación entre cliente y servidor no mantiene información alguna. Pero como con el avance de Internet se ha vuelto necesario almacenar cierta información, se desarrollaron algunas estrategias para gestionar los estados, como son las famosas cookies y las sesiones.

La nomenclatura de una llamada http o https para servidor seguro (SSL) es la siguiente: https://[dominio o ip]:[puerto]/[ruta y/o fichero]?[atributo]

HTTP/2, mejorando la comunicación y la velocidad

Han tenido que pasar más de 15 años para que este protocolo se actualizase. Es probable que la presión de Google ayudó a su avance y aprobación, después del intento de lanzar su propio protocolo «SPDY», que hoy es HTTP/2.0. También podéis acceder al RFC 7540 que hablar sobre HTTP/2.0. La nueva versión 2.0 es 100 % compatible con el funcionamiento de la versión 1.1 y 1.0. Se mantienen los mismo códigos de estado (1XX, 2XX, 3XX, 4XX, 5XX), los métodos (GET, POST, PUT, HEAD, etc.) y la estructura de la cadena de llamada. Pero las diferencias son importantes y te las contamos a continuación:

  • Una única conexión. Para cargar un contenido en HTTP/1.x eran necesarias varias conexiones TCP. Ahora, con HTTP/2.0, una única conexión puede realizar múltiples solicitudes y respuestas en paralelo.
  • Elimina información redundante. Esto hace reducir la latencia y que consumamos menos recursos.
  • Multiplexación. Se da solución al problema llamado «Head-of-line blocking» de HTTP/1.1, que provocaba que solo se use una solicitud por una conexión, lo que resulta en una congestión. Ahora se pueden resolver varias peticiones a la vez.
  • HTTP 2.0 es un protocolo binario. Esto facilita encontrar el comienzo y el final de cada frame, cosa que es complicada hacer en un protocolo de texto. También reduce la posibilidad de error.
  • Servicio «server push». Permite la carga de archivos como CSS, JavaScript, imágenes, etc. desde el servidor, sin que este lo solicite. Ya no tenemos que esperar a que nuestro navegador interprete el HTML para continuar la descarga del resto de elementos de una web.
  • Compresión de cabeceras para transmitir menos información. Con el uso del algoritmo HPACK6 se reduce el tamaño de las cabeceras, lo que mejora el tiempo de respuesta y la eficiencia, sobre todo en móviles.
  • Priorización de flujos. Permite priorizar qué paquetes son más importantes en la comunicación cliente-servidor-cliente. De esta forma los objetos más relevantes pueden contar con prioridad.
  • No requiere cifrado TLS. En HTTP/2 el uso del cifrado TLS (Transport Layer Security) es opcional. Pero la mayoría de navegadores están anunciando que solo soportarán HTTP/2.0 sobre TLS para mayor seguridad. Para los que no estén familiarizados con el término, TLS es un protocolo criptográfico de la capa de transporte (de criptografía asimétrica), que proporciona comunicaciones seguras por la red. El uso de TLS añade un retardo adicional.

El resultado final será que podremos disponer de una carga mucho más rápida para todos los recursos de nuestras páginas web.

Las tareas pendientes para que HTTP/2.0 funcione

En resumen, ahora tenemos trabajo por delante, ya que para que HTTP/2 funcione necesitamos que tanto el cliente como el servidor tengan soporte de este protocolo. De la parte de los navegadores de Internet se podría afirmar que todas las últimas versiones ya incorporaron dicho soporte. En cuanto a los servidores web, es cuestión de ir actualizando a versiones con dicho soporte, como Apache, Nginx, OpenLiteSpeed o Jetti, que sabemos que ya lo han implementado.

Si te ha gustado, compártelo en redes sociales

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on whatsapp
Share on email

Conéctate a la revolución

Recibe noticias relacionadas con tecnologías Cloud, redes de última generación, sistemas altamente disponibles, almacenamiento de alto rendimiento, y otras soluciones y novedades relacionadas que puedan ser de tu interés.

  • Este campo es un campo de validación y debe quedar sin cambios.