HTTP/2 è l'ultimo standard per il HTTP protocollo, è il successore di HTTP/1.1. Sta diventando sempre più popolare grazie ai vantaggi che offre agli sviluppatori web e agli utenti in generale. Fornisce un trasporto ottimizzato per la semantica HTTP supportando tutte le funzionalità principali di HTTP/1.1 ma mira ad essere più efficiente in più modi.
Ci sono molte funzionalità in più HTTP/2 che ti danno più possibilità di ottimizzare un sito/applicazione web. Offre un vero multiplexing e concorrenza, una migliore compressione dell'intestazione (codifica binaria), una migliore prioritizzazione, migliori meccanismi di controllo del flusso e una nuova modalità di interazione chiamata "spinta del server"che consente a un server di inviare le risposte a un client. Per non parlare di, HTTP/2 si basa sull'esperimento di Google SPDY protocollo.
Pertanto, l'obiettivo principale di HTTP/2 è ridurre il tempo complessivo di caricamento della pagina web, migliorando così le prestazioni. Si concentra anche sull'utilizzo delle risorse di rete e server, nonché sulla sicurezza perché, con
HTTP/2, SSL/TLS la crittografia è obbligatoria.In questo articolo imparerai come abilitare Nginx insieme a HTTP/2 supporto nei server Linux.
Puoi installare NGINX o distribuiscilo con a LEMP impilare come descritto nelle seguenti guide:
Se hai installato NGINX, verifica che sia stato creato con il ngx_http_v2_module
modulo eseguendo il comando seguente.
# stringhe /usr/sbin/nginx | grep _module | grep -v configure| ordina | grep ngx_http_v2_module.
Una volta che hai un sito/applicazione web servito da NGINX insieme a HTTPS configurato, apri il blocco del server virtuale del tuo sito web (o host virtuale) file per la modifica.
# vi /etc/nginx/conf.d/example.com.conf [Su CentOS/RHEL] $ sudo nano /etc/nginx/sites-available/example.com.conf [Su Ubuntu/Debian]
Puoi abilitare il supporto HTTP/2 semplicemente aggiungendo il http2
parametro a tutti ascoltare
direttive come mostrato nella schermata seguente.
ascolta 443 ssl http2;
L'esempio di configurazione del blocco del server è il seguente.
server { nome_server esempio.com www.esempio.com; access_log /var/log/nginx/example.com_access.log; error_log /var/log/nginx/example.com_error.log; ascolta [::]:443 ssl ipv6only=on http2; # gestito da Certbot listen 443 ssl http2; # gestito da Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestito da Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestito da Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # gestito da Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestito da Certbot }
Salva le modifiche nel file e chiudilo.
Quindi controlla la sintassi di configurazione di NGINX, se è OK, riavvia il servizio Nginx.
# nginx -t. # systemctl riavvia nginx.
Quindi, apri un browser web per verificare se il tuo sito web viene servito sopra HTTP/2.
http://www.example.com.
Per accedere alle intestazioni HTTP, fare clic con il pulsante destro del mouse sulla pagina Web visualizzata, selezionare Ispezionare dall'elenco delle opzioni per aprire gli strumenti per sviluppatori, quindi fare clic su Rete scheda e ricaricare la pagina.
Controlla sotto Protocolli per vedere quello utilizzato dal tuo sito (se non vedi l'intestazione Protocols, fai clic con il pulsante destro del mouse su una delle intestazioni, ad es. Nome, quindi controlla Protocollo dall'elenco per visualizzarlo come intestazione).
Se il tuo sito è in esecuzione su HTTP/1.1, sotto Protocollo, vedrai http/1.1 come mostrato nello screenshot seguente.
Se è in esecuzione HTTP/2, sotto Protocollo, vedrai h2
come mostrato nello screenshot seguente. Potresti voler disabilitare la cache del browser per visualizzare i contenuti più recenti offerti direttamente dal server web.
È tutto! Per ulteriori informazioni, vedere il documentazione del modulo ngx_http_v2_module. Non esitate a porre domande tramite il modulo di feedback sottostante.