miércoles, 8 de diciembre de 2021

nginx y http2



Permitir peticiones HTTP/2 en nginx.



HTTP/2 es una actualización del protocolo HTTP que mejora la velocidad y la seguridad de las interacciones cliente-servidor en Internet. HTTP/2 agrega varias funciones nuevas al tiempo que mantiene la compatibilidad con versiones anteriores, por lo que los navegadores y servidores sin compatibilidad con HTTP/2 continúan funcionando correctamente, mientras que aquellos que las posean pueden aprovechar las mejoras de rendimiento.

El enfoque principal de las mejoras de HTTP/2 es la velocidad. Una limitación importante de HTTP/1 es que solo permite solicitar un recurso por petición, por lo que para minimizar los tiempos de carga, los navegadores abren múltiples conexiones HTTP/1 a un sitio a la vez para solicitar varios recursos en paralelo, con una sobrecarga significativa. HTTP/2, por su lado, usa conexiones multiplexadas para transmitir múltiples recursos a través de una sola conexión, reduciendo la carga.

HTTP/2 también hace un uso extensivo de la compresión, lo que mejora el rendimiento al ahorrar ancho de banda. En HTTP/2, los encabezados se envían como binarios comprimidos en lugar de como texto sin formato legible por humanos. El considerable ahorro de ancho de banda compensó el aumento menor en la carga de la CPU (para comprimir y descomprimir los encabezados) y la incomodidad para los usuarios humanos que no pueden leer los encabezados (por ejemplo, con fines de depuración).

HTTP/2 también introduce la priorización de recursos. Los navegadores web y otros clientes ahora pueden indicar el orden en el que desean recibir los recursos. Los navegadores con una buena compatibilidad con HTTP/2 pueden generar páginas significativamente más rápido al priorizar los recursos que el usuario necesita ver primero. Las primeras pruebas del rendimiento de HTTP/2 han demostrado que algunas páginas se cargan casi el doble de rápido.

Para permitir peticiones HTTP/2 en nginx para dominio.com debemos añadir "http2" en "listen":

server { listen 443 ssl http2; server_name dominio.com ssl_certificate server.crt; ssl_certificate_key server.key; }

Recargamos la configuración de nginx y este ya empezará a servir material vía HTTP/2.


Fuentes:

https://www.nginx.com/resources/glossary/http2/
http://nginx.org/en/docs/http/ngx_http_v2_module.html
0

0 comentarios:

Publicar un comentario