HTTP / 2 es la última evolución del Protocolo de transferencia de hipertexto (HTTP). HTTP es el protocolo de red utilizado para solicitar y recibir páginas y datos en la World Wide Web. La nueva tecnología sustituirá finalmente a HTTP / 1.1, que fue estandarizada hace más de dos décadas.
¿Cómo difiere HTTP / 2 de HTTP / 1.1?
Quizás HTTP / 2 se entiende mejor como su nombre original: HTTP / 2.0. Tiene sus raíces en el protocolo SPDY diseñado por Google en 2009.
HTTP / 1.1 tiene varios inconvenientes. Fue creado en un momento en que las páginas web rara vez superaban los 100 Kb, la hoja de estilos CSS no estaba disponible y, si bien se introdujo JavaScript, rara vez se usaba para nada más que validación de formularios básicos o efectos simples. Los ancho de banda amplios como ADSL, las aplicaciones de una página impulsadas por Ajax y los marcos del lado del cliente estaban a muchos años de distancia. Nadie podría imaginar páginas haciendo más que unas pocas solicitudes.
Los objetivos principales de HTTP / 2 fueron reducir la latencia. Se pone un poco técnico, pero se lograron eficiencias utilizando varias técnicas …
1. HTTP / 2 es información binaria
HTTP / 1.1 usa datos de texto que generalmente son menos eficientes en una red. Dado que la maquina tiene que traducirlo de lenguaje binario a humano para que el explorador de internet lo traduzca de humano a binario nuevamente.
2. Los encabezados HTTP / 2 están comprimidos
La información enviada con una solicitud describe los datos, su origen, tipo, longitud, cuánto tiempo puede almacenarse en caché, etc. A diferencia de HTTP / 1.1, ahora está comprimido en HTTP / 2.
3. HTTP / 2 usa la canalización
En HTTP / 1.1, el servidor debe enviar respuestas en el mismo orden en que se recibieron las solicitudes. HTTP / 2 es asíncrono, por lo que las respuestas más pequeñas o más rápidas se pueden gestionar antes.
4. HTTP / 2 es multiplexado
En HTTP / 1.1, solo se puede gestionar una solicitud en una conexión TCP en cualquier momento. Los navegadores suelen abrir entre cuatro y ocho conexiones, pero los activos grandes o lentos pueden retrasar la descarga de otros archivos. HTTP / 2 permite múltiples mensajes de solicitud y respuesta en la misma conexión (única) al mismo tiempo.
5. HTTP / 2 implementa PUSH de lado del servidor
El servidor puede enviar datos antes de que le sean solicitados. Por ejemplo, puede hacer referencia a un script en la parte inferior de su página web. En HTTP / 1.1, el navegador descargará el HTML, lo analizará y luego cargará el archivo JavaScript cuando se encuentre su etiqueta <script>. Un servidor HTTP / 2 puede insertar el archivo JavaScript en el navegador antes de que sepa que es necesario.
¿Es HTTP / 2 notablemente mejor?
Los resultados diferirán de un sistema a otro, pero hay herramientas de pruebas HTTP / 1.1 frente a HTTP / 2 con HTTPS como pingdom, gtmetrix y webpagetest que generalmente informan que HTTP / 2 es 10 veces más rápido a pesar de ocurrir a través de una conexión segura con SSL.
¿Se puede usar HTTP / 2 hoy?
Sí. Sin embargo, HTTP / 2 solo está habilitado cuando tanto el servidor web como el navegador admiten el protocolo. La conexión normalmente volverá a HTTP / 1.1 cuando cualquiera de los extremos falla. A fines de 2016, casi el 11% de los diez millones de sitios web más importantes soportaban HTTP / 2. Todas las versiones recientes de Firefox, Safari, Edge, Chrome y otros navegadores ya admiten el protocolo.
Puede probar si su host o servidor ha habilitado HTTP / 2 ingresando la URL de su sitio web en la herramienta de prueba HTTP / 2 proporcionada por keycdn.
Si está usando un hosting administrado o compartido, su host podría necesitar habilitar HTTP / 2. Algunos pueden hacer que sea una opción que puedes activar o desactivar, así que contácte a su proveedor directamente si no estás seguro.
Idealmente, lo mejor es usar un host web que habilite HTTP / 2 de manera predeterminada, de hecho Nettix Perú. Admite HTTP / 2 por defecto. Además, tenemos certificados SSL; estos son obligatorios cuando se usa HTTP / 2 porque la mayoría de los navegadores solo son compatibles con HTTP / 2 si están encriptados.
Si está ejecutando su propio servidor dedicado o virtual, HTTP / 2 deberá estar habilitado para el servidor web que esté utilizando. La mayoría admite el protocolo directamente o tiene módulos instalables. Eso incluye Apache, nginx, LiteSpeed, Microsoft IIS y Node.js / Express, pero tenga en cuenta que las características pueden diferir.
¿Necesito actualizar mi sitio web?
No, HTTP / 2 es compatible con HTTP / 1.1.
Posiblemente esté utilizando un sistema de compilación o procesos manuales para:
- convertir muchas imágenes en un sprite de una sola imagen
- imágenes en línea en la página HTML o archivos CSS
- concatenando y minificando CSS y JavaScript en archivos individuales.
La reducción del número de solicitudes es buena para las conexiones HTTP / 1.1, pero varias solicitudes HTTP / 2 impactan menos en la velocidad. Posiblemente sea mejor entregar varios archivos porque, si uno cambia uno de ellos, solo necesita enviar la actualización al navegador.
También puede mover datos a diferentes dominios o CDN para permitir más conexiones abiertas HTTP / 1.1. Esto no es necesario para HTTP / 2 porque puede hacer tantas solicitudes como necesite en una sola conexión. Es posible que los dominios separados puedan impactar la velocidad debido a las búsquedas adicionales DNS y las conexiones TCP que deben abrirse.
¿Nettix Peru puede ayudarme a mejorar la velocidad de mi sitio web?
Si, si tienes un sitio web con Joomla o WordPress, tenemos servidores de alto rendimiento basados en Linux o UNIX que aceptan el nuevo protocolo HTTP/2. Adicionalmente, ayudamos a optimizar el sitio, migrarlo y encargarnos de los backups periodicos. Contáctanos para mayor informacion.
Deja una respuesta