Una mirada más cercana a HTTP/2: cómo funciona y qué significa para la web
Publicado: 2023-02-09En 2015, se aprobó una nueva versión del protocolo de red HTTP: HTTP/2. Ahora, se está volviendo cada vez más popular: el protocolo ya es compatible con los servidores web Apache y Nginx, los navegadores Chrome, Firefox, Opera, Edge y Safari, así como con dispositivos móviles.
El número de sitios y servicios HTTP/2 crece constantemente. En un futuro cercano, Internet está esperando la transición a un nuevo protocolo que acelere la descarga del sitio web.
Averigüemos cómo afectará esto a la creación del sitio, al SEO y a otros aspectos.
¿Qué es HTTP/2?
El protocolo HTTP/1.1 se ha utilizado desde 1999 y con el tiempo ha adquirido un problema importante. Los sitios modernos, en contraste con lo que era popular en 1999, usan muchos elementos diferentes: scripts de JavaScript, estilos CSS y, a veces, también animación flash. Cuando los transfiere todos, el navegador y el servidor crean varias conexiones.
El protocolo HTTP/2 acelera significativamente la velocidad de los sitios web debido a las siguientes características:
- Conexiones: se pueden enviar múltiples solicitudes a través de una única conexión TCP y las respuestas se pueden recibir en cualquier orden. No es necesario mantener varias conexiones TCP.
- Prioridades de subprocesos: el cliente puede establecer las prioridades del servidor: qué tipo de recursos son más importantes para él que otros.
- Compresión de encabezado: se puede reducir el tamaño del encabezado HTTP.
- Envío automático de datos desde el lado del servidor: el servidor puede enviar al cliente los datos que aún no se han solicitado, por ejemplo, en función de los datos sobre la próxima página que los usuarios van a abrir.
El desarrollo del protocolo HTTP 2 se basó en el protocolo SPDY, desarrollado por Google. Pero Google ya ha anunciado que rechazará más soporte SPDY para un HTTP/2 más prometedor.
Leer: ¿Por qué su sitio de WordPress es lento y cómo acelerarlo?
Características clave de HTTP/2
- multiplexación
- Empuje del servidor
- Compresión de encabezado
- Priorización de transmisión
- Control de flujo
Diferencia entre HTTP y HTTP 2
Los cambios que se han hecho al primer protocolo no requieren muchas alteraciones en el funcionamiento de las aplicaciones. Aunque, hay una ventaja para las nuevas aplicaciones que funcionarán a mayor velocidad. Las diferencias clave entre los dos protocolos se comparan a continuación:
Característica | HTTP | HTTP2 |
---|---|---|
Sintaxis | La sintaxis de alto nivel es la misma | La sintaxis de alto nivel es la misma |
Encuadre de datos | Encuadre de datos modificado | Encuadre de datos mejorado |
Consultas | consultas limitadas | Más consultas |
Capacidad de respuesta del servidor | Capacidad de respuesta limitada | Capacidad de respuesta mejorada |
Sitios web eficientes | Solicitudes minimizadas | Eficiencia mejorada |
Bloqueo de cabeza de línea | Presente en HTTP | Superar en HTTP2 |
multiplexación | No presente | Presente |
Compresión de encabezado | No presente | Presente |
Priorización de solicitudes | No presente | Presente |
A continuación se muestra una buena representación visual de la diferencia básica entre HTTP/1 y HTTP/2 (cortesía: http://ruzhekov.com)
Pros y contras de HTTP/2
ventajas
- Velocidad de carga de página mejorada
- Mejor uso de los recursos de la red.
- Experiencia de usuario mejorada
- Mejor compatibilidad con tecnologías web modernas
Contras
- Se dice que el protocolo es inconsistente y complejo.
- Viola el principio de capas de protocolo
- Viene con un alto costo de encriptación
- No es compatible con ciertos dispositivos como enrutadores
- Carece de cifrado oportunista
¿Por qué el mundo necesitaba HTTP/2?
- HTTP se describió por primera vez en 1991 y su última versión, HTTP/1.1, se aprobó en 1999 y todavía se usa en la actualidad.
- Los tamaños de los sitios web han crecido significativamente a lo largo de los años, lo que lleva a tiempos de carga lentos y limitaciones en la cantidad de conexiones simultáneas que usan HTTP/1.1.
- Se han implementado soluciones temporales como la optimización de la carga del sitio web, pero solo ofrecen una solución a corto plazo.
- Los ingenieros de Google comenzaron a trabajar para mejorar el protocolo en 2009, lo que condujo a la creación del protocolo SPDY, que es más rápido y compatible con la mayoría de los navegadores, pero requiere soporte del lado del servidor.
- HTTP/2 se basa en SPDY y es retrocompatible con HTTP/1.1. No hay una necesidad inmediata de actualizar, pero eventualmente, los sitios pueden cargar más lentamente en el protocolo anterior.
¿Es HTTP/2 realmente más rápido?
Los expertos de HttpWatch realizaron varias pruebas y encontraron una aceleración importante con HTTP 2.
La siguiente captura de pantalla muestra la velocidad de descarga de la página usando HTTP/1.1:
Y en esta captura de pantalla, el resultado de usar HTTP 2:
La velocidad de descarga aumentó en un 23%. Los expertos de HttpWatch también señalan que la tecnología aún no está completamente optimizada y esperan una aceleración real de hasta un 30%.
¿Por qué HTTP/2 funciona más rápido?
- Múltiples solicitudes enviadas dentro de la misma conexión en HTTP/2 (multiplexación) conducen a una carga más rápida de elementos estáticos
- La compresión de encabezados HTTP en HTTP/2 reduce la cantidad de datos entre el servidor y el navegador, liberando recursos
- Seguridad mejorada con conexiones encriptadas para soporte HTTP/2 por navegadores que marcan tendencia (Google Chrome, Mozilla Firefox)
- Cambios en el orden de priorización en HTTP/2, siendo la priorización un método deseable para el correcto funcionamiento de la multiplexación
- La falta de configuración de priorización en HTTP/2 puede conducir a una velocidad reducida, ya que los recursos que se pueden cargar más tarde tomarán una franja separada y una parte de la energía.
¿Por qué es importante acelerar la carga de la página del sitio web?
- La compatibilidad con HTTP 2 no es un factor de clasificación directo para Google
- La velocidad de descarga es un factor de clasificación importante para Google
- HTTP/2 puede impactar positivamente la velocidad del sitio web y afectar positivamente la clasificación debido a factores de comportamiento
- Las páginas más rápidas tienen una tasa de fallas más baja y pueden resultar en una mayor participación del usuario
- Google Bot pronto admitirá HTTP/2
- HTTP 2 puede convertirse en un factor de clasificación en el futuro a medida que los motores de búsqueda cambien los algoritmos.
Los beneficios para los desarrolladores web
HTTP 2 te permite deshacerte de viejos trucos, diseñados para acelerar la carga de la página sin HTTP/2. Listamos los:
- La fragmentación de dominios o el uso de varios dominios relacionados para descargar archivos y permitir el establecimiento de más conexiones TCP.
- Sprites de imágenes: combinación de imágenes en un archivo para reducir la cantidad de solicitudes. Sin embargo, dicho archivo primero debe estar completamente cargado para que se muestre. Además, el procesamiento de archivos grandes consume más memoria.
- Combine los archivos CSS y JavaScript, lo que también se hace para reducir la cantidad de solicitudes y también aumentar el uso de la memoria.
- Inclusión en línea o colocación de CSS y JavaScript y, a veces, incluso imágenes dentro del archivo HTML, para reducir la cantidad de conexiones. Al mismo tiempo, la página no se muestra hasta que se carga todo el archivo.
- Dominios sin archivos de cookies: descarga imágenes, CSS y JavaScript de otro dominio donde no se utilizan cookies.
¿Cómo implementar HTTP 2?
Para implementar HTTP 2, debe seguir estos pasos:
- Verifique la compatibilidad del servidor: asegúrese de que el software de su servidor sea compatible con HTTP 2. El software de servidor popular como Apache, Nginx e IIS tiene compatibilidad integrada con HTTP 2.
- Habilite HTTP 2: una vez que haya confirmado que su servidor es compatible con HTTP 2, deberá habilitarlo. El método para habilitar HTTP 2 varía según el software de servidor que esté utilizando.
- Use HTTPS: HTTP 2 requiere una conexión segura usando HTTPS, por lo que necesita tener un certificado SSL instalado en su servidor.
- Actualice su código: si está utilizando una biblioteca o marco que maneja conexiones HTTP, asegúrese de que sea compatible con HTTP 2. Algunas bibliotecas pueden requerir actualizaciones para funcionar con HTTP 2.
- Pruebe su sitio: después de realizar los cambios necesarios, pruebe su sitio para asegurarse de que funciona con HTTP 2. Verifique la consola del navegador para ver si hay errores o advertencias.
- Supervise el rendimiento: supervise regularmente el rendimiento de su sitio para asegurarse de que funciona sin problemas con HTTP 2.
- Considere las optimizaciones de rendimiento: la implementación de HTTP 2 mejorará el rendimiento de su sitio, pero aún puede haber oportunidades para una mayor optimización. Por ejemplo, combinar imágenes en sprites, comprimir imágenes y reducir la cantidad de solicitudes HTTP puede mejorar aún más el rendimiento.
Conclusión
HTTP 2 es compatible con versiones anteriores de HTTP 1.1 y no requiere migración. Sin embargo, a medida que los servidores web y los navegadores adoptan HTTP 2, es posible que sea necesario actualizar las técnicas de optimización del sitio para evitar la ralentización del sitio web.
Leer: Una guía completa sobre la migración de HTTP a HTTPS en WordPress
La combinación de imágenes en sprites mejora la compresión y reduce la descarga de datos, mientras que evitar el uso de URI de datos para incrustar imágenes puede mejorar el almacenamiento en caché. La fragmentación del dominio ya no es necesaria en HTTP 2, ya que permite solicitudes directas de recursos y puede reducir el rendimiento al crear conexiones adicionales.
Preguntas frecuentes
¿Para qué se usa HTTP2?
HTTP2 es un protocolo que se utiliza para transferir datos a través de Internet, lo que mejora la velocidad y la seguridad de la entrega de contenido web, como páginas, imágenes y videos, desde un servidor a un navegador. Ofrece una carga de página más rápida y una mayor eficiencia en comparación con su predecesor, HTTP 1.1, al permitir que se envíen y reciban múltiples solicitudes al mismo tiempo.
¿Cuál es la diferencia entre HTTP y HTTP2?
HTTP2 es una versión actualizada de HTTP que es más rápida y eficiente que su predecesora. Utiliza una sola conexión para cargar múltiples recursos, mientras que en HTTP se requerían múltiples conexiones. HTTP2 también proporciona compresión y priorización de datos, lo que genera tiempos de carga de página más rápidos para los usuarios.
¿Por qué http2 no se usa mucho?
HTTP2 no se usa mucho debido a problemas de compatibilidad e implementación. Algunos dispositivos y software antiguos no son compatibles con HTTP2 y requieren un servidor dedicado y un certificado SSL para su implementación.