WordPress y HTTP2: una introducción
Durante mayo de 2015, se decidió que HTTP/2 se convertiría en el nuevo estándar y que reemplazaría a HTTP/1.1 a su debido tiempo. Las posibles ventajas de HTTP/2 son enormes, sin embargo, la facilidad de uso no es tan fácil como se imagina. En este artículo, veremos rápidamente los beneficios que este estándar podría proporcionar a los propietarios de sitios web, así como los requisitos que se deben cumplir para usar WordPress y HTTP/2.
¿Cuántos artículos sobre la velocidad de carga de un sitio web has leído ya? Probablemente mucho. También he publicado un par de artículos sobre el tema aquí en Noupe y aún más en nuestro sitio hermano alemán Dr. Web. Una parte importante de la optimización del rendimiento es el servidor, ya que ninguna optimización puede funcionar sin un servidor adecuado con un sistema operativo moderno.
Eso sería como lanzarse contra molinos de viento. Como ninguno de nosotros es Don Quijote, no deberíamos empezar por eso, ¿no?
¿Qué es HTTP y para qué se necesita?
En general, HTTP (Protocolo de transferencia de hipertexto) es una forma de comunicación entre el servidor web y el navegador. Eso significa que HTTP es el idioma que usan el servidor y el navegador para comunicarse entre sí.
Realmente no profundizaré en eso en este artículo, por lo que si desea obtener más información al respecto, consulte el artículo. en Wikipedia. La primera versión de HTTP, la versión 0.9, se creó en 1991, el llamado período Jurásico de Internet.
Han pasado muchas cosas desde entonces. Los sitios web consistían principalmente en un color de fondo, uno o dos gráficos que estaban vinculados en el HTML y mucho texto. Los primeros sitios web tenían solo algunos KB de tamaño, mientras que los sitios web actuales son gruesos y pesan varios MB.
El desarrollo de sitios web se observa fácilmente en el ejemplo de Dr. Web que ya establecimos en 1997. Noupe es más de diez años más joven.
Hoy en día, la cantidad real de archivos que forman un sitio web ha aumentado drásticamente. En aquel entonces, solo había que cargar unos pocos archivos, y hoy en día hay decenas de ellos. Este progreso aumenta las limitaciones con las que viene el antiguo protocolo HTTP/1. El resultado es una mayor latencia o un sitio web lento y moderno.
Esto obligó al desarrollo de HTTP/2. HTTP/2 definitivamente puede considerarse la evolución del antiguo protocolo ya que el objetivo principal era la reducción de la latencia, lo que resulta en una mayor velocidad de carga con los navegadores web modernos.
La limitación de HTTP/1
Hoy en día, los navegadores tienen que cargar docenas o incluso cientos de archivos para mostrar un sitio web. Se carga lo siguiente para la pantalla:
- El HTML del sitio web
- Las hojas de estilo (CSS)
- el JavaScript
- Las imagenes
- Los videos
- Archivos externos para Google Analytics, anuncios y cualquier cosa similar
- Soluciones para compartir en redes sociales
El gran problema de HTTP/1 es que el navegador crea una solicitud para cada archivo que se menciona en HTML, CSS y JavaScript. Esto podría ser cientos de solicitudes y conexiones. Se deben ejecutar cientos de solicitudes HTTP, lo que puede ralentizar significativamente un sitio web.
Optimización de velocidad bajo HTTP/1
Debido a esta limitación, se creó un concepto especial sobre cómo hacer que los sitios web sean más rápidos. Los archivos se agruparon para reducir la cantidad de solicitudes, el tamaño se redujo mediante compresión y los gráficos se compilaron en un sprite. Se supone que HTTP/2 resuelve estos problemas, así como proporciona otras formas.
La diferencia entre HTTP/1 y HTTP/2
Por favor visita Preguntas frecuentes sobre HTTP/2 GitHub para la especificación exacta de HTTP/2. HTTP/2 fue desarrollado para ser leído por máquinas y no por humanos. Así, el nuevo protocolo es binario, ya que esto optimiza el proceso de comunicación entre el navegador y el servidor.
Además de eso, es mucho menos propenso a errores y puede interpretar cosas como espacios en blanco, líneas vacías, finales de línea, mayúsculas y otras cosas mucho mejor.
Sin embargo, la gran diferencia entre los dos protocolos son las conexiones. HTTP/1 solo permite una conexión a la vez, mientras que HTTP/2 puede procesar varias conexiones a la vez porque utiliza multiplexación.
- HTTP/1 tiene que crear una consulta para cada archivo
- HTTP/1 carga un archivo a la vez
- HTTP/2 es capaz de cargar muchos archivos con una conexión
- HTTP/2 permite múltiples conexiones al mismo tiempo
El procedimiento de inserción del servidor de HTTP/2
El proceso de inserción del servidor es una función en la que el servidor realmente sabe qué archivos requiere el navegador antes de consultar los archivos. Luego, el servidor envía los archivos al navegador sin esperar a que el navegador los solicite. Esto acelera todo el proceso de visualización de un sitio web.
Encuentre más información detallada Bajo Apache.org/Inserción del servidor
Aquellos que quieran experimentar con el procedimiento de inserción del servidor pueden encontrar un complemento gratuito de WordPress aquí. Empuje del servidor HTTP/2.
Por qué HTTP/2 es mucho más eficiente
- Puede construir conexiones entre el cliente y el servidor mucho más rápido
- La conexión entre el servidor y el navegador es más eficiente y rápida.
- Los archivos y los recursos se transfieren al mismo tiempo
- Los archivos se pueden enviar al navegador a través de server-push
- Le permite cargar y mostrar más archivos a la vez
La demostración en línea: la diferencia entre HTTP/1 y HTTP/2
¿Cómo puedo usar HTTP/2 con mi sitio web?
Si ya puede usar HTTP/2 o no, depende de su proveedor de alojamiento web. El nuevo protocolo es parte del sistema operativo del servidor (Apache, NGINX o ILS) y, por lo tanto, debe ser atendido por su proveedor de alojamiento.
Si tiene un servidor propio, puede actualizar tp HTTP/2 en cualquier momento.
Por supuesto, ya hay un par de hosts que admiten y ofrecen HTTP/2. Sin embargo, eso parece ser una excepción por ahora. Es posible probar si su servidor web o paquete de alojamiento ya proporciona el nuevo Turbo HTTP. Para ello, utilice la herramienta online de KeyCDN:
Cómo usar HTTP/2 con su sitio web
Teóricamente, HTTP/2 debería poder usarse en cualquier navegador sin ninguna configuración particular. En teoria. Desafortunadamente, las cosas son diferentes en la práctica, ya que los grandes creadores de navegadores han decidido habilitar solo el soporte para el nuevo protocolo a través de TLS (HTTPS). Aquí hay una lista actualizada de navegadores que ya son compatibles con HTTP/2:
Un clic abre la lista interactiva en Caniuse.com
Entonces necesitas un certificado SSL para tu dominio, ya que solo así podrás disfrutar del protocolo de alta velocidad.
Prueba: ¿Qué sitio web ya está usando HTTP/2?
Hay una expansión de Google Chrome que te permite ver qué sitio ya está usando HTTP/2.
La Expansión “HTTP/2 y SPDY indicador”
La expansión se ubica al lado de la barra de direcciones del navegador y usa colores para mostrarle si el protocolo se usa o no. Un parpadeo azul significa que el sitio web está utilizando HTTP/2 activamente. Gris significa que no hay soporte disponible.
Ir a nuevas formas de optimización de la velocidad
Las viejas formas de optimización de la velocidad ya no son efectivas cuando se usa HTTP/2, por lo que se desperdiciaría el potencial. Sin embargo, usar el protocolo a diario no significa que los archivos ya no deban condensarse, sino que debe pensar en qué archivos no se condensarán.
La posible ventaja de cargar muchos recursos a la vez también puede resultar en un sitio web más lento cuando ya no se condensan ni comprimen todos los archivos. Tener JavaScript entregado en un archivo comprimido por Autoptimize, por ejemplo, da como resultado un tiempo de carga más rápido ya que, debido al almacenamiento en caché optimizado, el archivo solo se carga una vez cuando un según el archivo .htaccess está disponible.
Después de muchísimas pruebas, mi forma de optimizar la velocidad para usuarios avanzados ha demostrado ser óptima.
Conclusión
Definitivamente vale la pena usar HTTP/2, aunque debe comprar un certificado SSL para el sitio web. Un certificado gratuito de Let’s Encrypt también es suficiente. La ganancia de velocidad puede ser enorme, dependiendo del concepto de optimización de velocidad existente. En sitios web diseñados para un alto rendimiento, con servidores que ya usan PHP7, el crecimiento de la velocidad será mucho menos significativo.
#WordPress #HTTP2 #una #introducción