HTTP / 2 es la segunda versión principal del protocolo HTTP lanzada en 2015.
Aproximadamente 46.5% de los sitios web son compatibles con HTTP / 2.
Tiene muchas características como:
- Compresión de encabezado HTTP
- Tecnologías push
- Cargar elementos de página en paralelo a través de una sola conexión TCP
- Protocolo binario
- Latencia reducida
Demo de AKAMAI muestra HTTP / 2 es aproximadamente dos veces más rápido que HTTP / 1.1.
Sabías LiteSpeed Fue uno de los primeros servidores web en admitir HTTP / 2?
Si usa un CDN como Cloudflare, Incapsula, MaxCDN, es posible que no necesite habilitar HTTP/2 en sus servidores web, ya que puede hacerlo desde el borde de la red CDN.
Sin embargo, si necesita implementar HTTP / 2 en sus servidores web como Apache, Nginx, IIS, siga leyendo para saber cómo puede hacerlo.
Nota: Todos los navegadores líderes (Chrome, Edge, Firefox, Safari, Opera) deben usar TLS 1.2 o más reciente para la implementación de HTTP2.
Pero no se preocupe si está haciendo algunos experimentos. Usted puede obtenga el certificado TLS GRATIS.
Implement HTTP/2 in Apache HTTP
HTTP / 2 se puede implementar en Apache HTTP 2.4.17 o una versión posterior con la ayuda de mod_http2 módulo. Entonces, si tiene una versión 2.2 o inferior, primero debe actualizar a la versión compatible.
Compilemos Apache HTTP con el mod_http2, mod_ssl módulo.
- Descargue la última versión (lo haré 2.4.25 en Linux)
- Extraiga el archivo descargado, si descargó el archivo .gz, luego
gunzip-c httpd-2.4.25.tar.gz | alquitrán xvf -
- Verá que se crea una nueva carpeta. Entra en eso
- Construya Apache desde la fuente con el comando configure
Nota:: si está probando esto en un servidor nuevo, puede encontrar un error al instalar dependencias, y esta guía debería ayudarte con eso.
./configure --enable-ssl --enable-so --enable-http2
- Asegúrese de que no haya errores del comando anterior una vez hecho, ejecute el siguiente comando make
hacer hacer instalar
Esto concluye que Apache HTTP está instalado con el módulo HTTP / 2 y es hora de realizar la configuración necesaria.
- Realice una copia de seguridad del archivo httpd.conf (ubicación predeterminada /etc/httpd/conf/httpd.conf)
- Abra el archivo httpd.conf con vi y asegúrese de que exista lo siguiente; si no, agréguelo.
LoadModule http2_module módulos / mod_http2.so
- A continuación, debe agregar el Protocolos directiva como a continuación
Protocolos h2 h2c http / 1.1
Si habilita HTTP / 2 para un host virtual individual, debe agregar Protocolos bajo el respectivo VIrtualHost.
Nota: hay tres parámetros en lo anterior Protocolos Directivas
- h2: instruir a Apache para que admita el protocolo HTTP / 2 sobre SSL / TLS
- h2c: instruir a Apache para que admita HTTP / 2 sobre TCP
- http / 1.1: si un cliente no acepta HTTP / 2, envíe la solicitud a través de HTTP / 1.1
Reinicie el servidor HTTP Apache para recargar La configuración.
Ahora, la instancia HTTP de Apache es facilita para admitir el protocolo HTTP / 2.
Implement HTTP/2 in Nginx
Nginx 1.9.5 o una versión superior es compatible con HTTP / 2, por lo que primero debe asegurarse de tener instalada la versión compatible.
Habilitar HTTP / 2 en Nginx es solo cuestión de agregar el http2 parámetro en la directiva listen.
- Como de costumbre, haga una copia de seguridad del archivo nginx.conf (ubicación predeterminada /etc/nginx/nginx.conf)
- Modificar usando vi y agregar http2 bajo escuchan Directivas
servidor {escuchar 443 http2 ssl chandan.io; … ....}
Como mencioné anteriormente, HTTP / 2 es compatible solo sobre HTTPS, por lo que debe agregar el bloque del servidor que tiene configuración SSL.
Si su configuración SSL está en otro archivo nginx.conf, debe actualizarlo allí.
Una vez hecho esto, reinicie Nginx para que la configuración esté activa.
Verify if Website Supports HTTP/2
Hay varias formas de comprobar si el sitio web admite HTTP / 2 o no.
A mano - abra IE / Chrome / Firefox y presione F12 >> vaya a la pestaña Red, y debería ver Protocolo como HTTP / 2.
En línea - puedes usar el Herramienta de prueba HTTP / 2.
Eso es todo por hoy. Espero que lo anterior le ayude a habilitar el protocolo HTTP / 2 en los servidores web Apache y Nginx para páginas web de carga rápida.