09, Mar 2021 | Desarrollo web

Los que vivimos dentro del mundo digital hemos vivido la transición de http a https con naturalidad. Https se utilizaba desde hace años pero no fue hasta que Google empezó a «marcar las webs» sin https (es decir con http) como webs no seguras» hasta que se ha estandarizado este protocolo de cifrado de seguridad. Antes solo veíamos candados verdes en portales de bancos, en paypal y en alguna gran página… hoy día lo tiene casi todo el mundo.

Pues bien, desde hace un tiempo a esta parte ha venido pasando lo mismo con http2, una nueva tecnología que ha venido por la fuerte demanda de velocidad. Y es que las páginas web cada vez son más dinámicas, cada vez tienen más diseño y por tanto pesan más, y ese peso hace que carguen más lento. HTTP2 ha venido para solucionar ese problema.

¿Qué es HTTP2?

Http2 o Http/2 es un protocolo binario que busca resolver los problemas de http1.x. que sigue siendo compatible con http2 al conservar la misma semántica, es decir, verbos, cabeceras, etc pero mejorando su rendimiento de forma notable.

Pero Rubén… No será para tanto… ¿no?

Dímelo tu… esta es una prueba real para que veas la diferencia de carga.

Puedes ver esta misma prueba tu mismo en la página siguiente:
https://http2.akamai.com/demo

 

¿Y cómo va a funcionar?

Tu navegador no va a notar la diferencia. Seguirá enviando peticiones a un servidor y recibirá las respuestas del mismo para mostrarte la página como se debe. Pero es bajo el capó donde se verán los cambios ofreciendo las siguientes mejoras:

  • Multiplexed Streams
  • Server Push
  • Compressed headers
  • Formato binario

 

Multiplexed Streams

Con http se producen congestiones cuando se producen muchas descargas simultáneas de los mismos recursos, fuentes, imágenes, textos, etc… Con la multiplicación ya no existirá este problema al proveer esos recursos en partes más pequeñas. además de permitir múltiples solicitudes en paralelo a través de una sola conexión. No hace falta que lo entiendas a nivel ingeniero… podrémos enviar muchas más peticiones al servidor y recibir sus respuestas a través de la misma conexión de forma simultánea, más eficiente y rápida.

Server Push

Permite enviar recursos a la caché del navegador sin que este los solicite, preparando recursos que probablemente el cliente o visitante vaya a necesitar. Recursos como archivos CSS, imágenes o fuentes que se dejan preparados antes de que el navegador interprete el html y los solicite. Ello acelera la carga y mejora la experiencia de tus visitantes.

Compressed headers

Todas las solicitudes enviadas tienen una pequeña pieza de información que son los Headers y que van a describir como se comportan los navegadores y servidores. Cuando trabajamos con http2 todo se empaqueta en un único bloque de contenido comprimido que se envía una sola vez y se descromprime e interpreta una vez finalizada la transmisión.

Formato binario

El protocolo http funciona mediante texto, mientras que http2 funciona en binario lo que supone menos errores y menos variables con las que lidiar como por ejemplo los espacios en blanco, los finales de línea, etc…

En http se definen hasta 4 formas de interpretar un mensaje mientras que con http2 solo existe 1. Menos es más cuando hablamos de velocidad.

¿Qué requisitos necesitas para usar http2?

Http2 utiliza conexiones sifradas por lo tanto es indispensable que tu web use https. No hace falta que sea un certificado de seguridad de pago, puede ser un certificado gratuito tipo Let´s Encrypt. Tu servidor o hosting debería poder proveerte de ello y si no lo hace cambia de hosting. En cuanto a este último, también será necesario que disponga de http2 en sus servidores, sin ello será imposible que puedas disponer de este servicio.

Comprobar que una web usa http2

A diferencia del cambio de http a https, donde era sencillo ver si una web disponía de certificado de seguridad a través del típico candado o el mensaje en chrome «web no segura», en esta ocasión no será sencillo verlo pues no hay, hasta el momento, una señal físicamente apreciable de tal cambio. Pero puedes añadir extensiones a Chrome o Firefox que te permitirán saberlo. Son muy sencillas de instalar y puedes hacerlo desde estos enlaces que te dejo aquí:

(para firefox)

(Para Chrome)

Usarlas es sencillo pues solamente te mostrará un icono de rayo azul cuando visites una web con http2 y desaparecerá cuando la web no lo tenga. El rayo azul aparecerá en la barra de direcciones junto a las demás extensiones. Si no te aparece es que esa web no lo lleva. Te dejo el ejemplo de cómo deberías verlo en nuestra propia web.

Y ahora te presentamos nuestra primera web con http2

Si, porque desde Grupo qagencia no cesamos en mejorar para ti y empezamos a implementar http2 en todos nuestros proyectos.

El primero y precursor es owanda.es pero ya está implementado en todos nuestros proyectos pasados alojados en nuestros servidores a los que llevamos mantenimiento técnico. Ya sabéis, si nos seguís en nuestras redes, que valoramos la experiencia de usuario por encima de todo y la velocidad es de las que más influyen.

Te invito a ver Owanda.es y darnos tu opinión sobre el proyecto.

Del mismo modo te invito a añadir este protocolo a tu proyecto web y mejorar la experiencia a tus clientes.

Nota importante si usas wordpress

Si usas wordpress y tienes añadida funcionalidades de cacheo como wp-rocket, WP3 total Caché, WP Super Caché o similares tendrás que revisar la configuración de estos al activar http2 ya que realizan funciones similares y pueden generar problemas por ejemplo en la concatenación o combinación de CSS y JS, que sí es una buena práctica con http y https pero no necesariamente con http2. Revisa la documentación de tu programa de caché en cada caso.

Nota importante si usas CDN o Fragmentación de dominio (Domain Sharding)

Fragmentación del dominio es una práctica que tenía sentido con protocolos http ya que permitía responder a múltiples solicitudes al servidor y «saltarse» las limitaciones de éste dividiendo las solicitudes entre varios subdominios. Esta práctica requiere modificaciones DNS que tenían sentido en años pasados pero no hoy con mayor uso de dispositivos móviles donde estas prácticas penalizan en demasía. Además el protocolo http2 acabará con ella por completo ya que ofrece algo muy similar con el multiplexed streams, por lo que si estás usando Fragmentación de dominio y quieres pasar a http2 piénsatelo bien pues tendrás que preparar tu estructura.

En cuanto a CDN, la diferencia con el primero es que la fragmentación o división de solicitudes no se hacen contra diferentes subdominios dentro del mismo servidor sino que se realizan contra distintos servidores repartidos por todo el mundo, siendo más eficaz y dando mejor rendimiento al entregar contenido a visitantes desde servidores que geográficamente están más cerca de ellos. Este sistema sí puede convivir con http2 pero también con Fragmentación de dominio. Lo mismo…. si usas CDN puedes implementar http2 sin problema, pero si usas CDN con fragmentación de dominio tendrás que preparar tu sistema antes del cambio.

Abrir chat
¿Necesitas ayuda?
Grupo qagencia
Hola
¿En qué podemos ayudarte?