HTTP Keep Alive

Abilitare Keep-Alive per velocizzare il caricamento

Come sappiamo, quando un client visualizza una pagina, ne scarica il documento HTML.
All’interno di questo file, il browser rileva eventuali altre risorse da scaricare, come script, css, file multimediali.

Per ogni risorsa da scaricare, il protocollo HTTP può richiedere l’apertura o meno, di una nuova connessione TCP.

Perchè può farlo o non farlo?
Perchè dipende dalla versione di HTTP utilizzata; lo vedremo nel dettaglio tra poco.

Il punto è che l’apertura di una connessione TCP costa in termini di prestazioni e di tempo, quindi è nostro compito ottimizzare il nostro sito Web anche da questo punto di vista.

In questo articolo ti illustrerò in che modo l’HTTP Keep-Alive ottimizza le richieste TCP, e come attivarlo.

Bonus Esclusivo: ho parlato del Keep-Alive e di tanti altri aspetti per ottimizzare il tuo sito, nella Technical SEO Checklist. È una guida in 13-punti che puoi scaricare gratuitamente, ed utilizzare per tutti i tuoi progetti. Se vuoi veramente migliorare il tuo sito, ti consiglio di darle un’occhiata 😉 

Cos’è l’HTTP Keep-Alive?

Sostanzialmente il Keep-Alive (HTTP Persistent Connection) permette di scaricare più risorse, all’interno della stessa connessione TCP.
HTTP Keep AliveCome possiamo vedere dall’immagine, il confronto tra le due situazioni è abbastanza semplice.

Connessioni multiple

  1. Apertura connessione;
  2. Il client invia la richiesta;
  3. Il server risponde;
  4. Connessione chiusa.

Questi quattro passi vengono ripetuti ad ogni download di un elemento della pagina.

Connessioni persistenti (Keep-Alive)

Dopo aver aperto la connessione:

  1. Il client invia la richiesta;
  2. Il server risponde;

I due passi sono ripetuti per ogni elemento, finchè non c’è più niente da scaricare, e la connessione viene chiusa.

Quando è abilitato di default?

Il Keep-Alive è abilitato di default in HTTP1.1, mentre in HTTP1.0 non c’è alcuna specifica ufficiale, e deve essere abilitato manualmente.

Questo articolo è utile? In cambio ti chiedo solamente di lasciarmi un +1. Non costa niente 😉

Come abilitare il Keep-Alive?

Keep-Alive si può attivare da .htaccess in questo modo:

<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>

In alternativa, se possibile, si può attivare dalle impostazioni del proprio webserver.

Questa direttiva modifica l’header HTTP, impostando il valore di Connection a Keep-Alive.
Quando si lavora con connessioni multiple, il valore è Close.

Puoi verificare lo stato di Keep-Alive con il tool dedicato di Gift Of Speed.

Conclusioni

Come abbiamo visto poco fa, il Keep-Alive consente di riutilizzare la stessa connessione TCP per più elementi della pagina Web.

Questo porta a diversi benefici dal punto di vista della velocità del sito Web (molto utile se la connessione è cifrata: HTTPS), con riscontri positivi anche nell’esperienza utente.

Ora prova ad abilitare Keep-Alive ed analizzare le tue pagine, per vedere di quanto hai migliorato il tuo sito.

Prima di chiudere questa pagina, lasciami un +1 o una condivisione, e se hai qualche domanda, parere o qualcosa da aggiungere, non esitare a scriverlo nei commenti; ci sono apposta 😉

Davide

Fondatore ed Autore at FortyZone
Diplomato nel 2015 in Informatica. Studio Informatica alla Sapienza di Roma. Ho diversi interessi e passioni, tra cui musica, cinema, sviluppo software e web, SEO e digital marketing. Ah, suono il basso.
  • Fabio Fusano

    Ciao Davide, complimenti per il post. Conciso, chiaro e utile.

    Mi permetto di aggiungervi un “tips” indirizzato chi usa l’hosting di Aruba per i propri siti (in particolare la versione Linux).
    Infatti, utilizzando il tester giftofspeed che hai linkato è molto probabile che si riceva l’esito “Connection: None Detected” (l’ho ricevuto su vari siti che gestisco). Probabilmente i server Aruba bloccano questo genere di richieste.

    Esiste però un metodo molto rapido per verificare se il server che Aruba ci mette a disposizione ha tale funzione attivata. Basta andare nel pannello amministrativo del sito che si vuole verificare, scegliere il menu “Servizi Hosting” e poi cliccare sulla scheda “Test PHP – phpinfo()”. Si aprirà una nuova pagina con l’elenco di tutte le funzionalità del server suddivise per ambiti e relativo di abilitazione. Cliccando CTRL+f per effettuare una ricerca per termini sul browser e digitando “keep-alive” si potrà verificare se la funzione sia abilitata o meno.

    Dalle mie verifiche sembra che tutti i server Aruba usino la versione 1.1 di HTTP. Ergo il keep-alive è attivo di default.

    Spero che questa drritta torni utile, visto che sono in parecchi ad usare Aruba come site-provider.

    • Ciao Fabio e grazie per il tuo pensiero.

      Ti ringrazio anche per aver condiviso queste informazioni utilissime, anche perchè, come hai aggiunto tu, Aruba è un hosting molto utilizzato.
      Questa dritta tornerà utile! 😉

      Un saluto e buona giornata