Ottimizzare le prestazioni di IIS 6

di: Massimo Fantini     16 Dicembre 2008

Nel presente articolo sono descritti due sistemi per ottimizzare le prestazioni di un sito web ospitato all'interno di un server web IIS6: la compressione HTTP e il "keep-alive" HTTP. L'utilizzo di queste due tecniche (definite all'inteno delle specifiche del protocollo HTTP 1.1) consente di migliorare la velocità di trasmissione delle pagine web, ridurre l'utilizzo della banda disponibile e diminuire il carico complessivo della CPU.

Compressione HTTP

La versione 1.1 del protocollo HTTP, tramite la RFC 2616, introduce il sistema di compressione che consente ad un server web di inviare ad un browser una risposta HTTP in formato compresso. Questa tecnologia richiede che il server web sia in grado di codificare il messaggio in uscita (con opportuno algoritmo di compressione) e che il browser sia in grado di decodificare, decomprimendolo, il contenuto del messaggio. Gli obiettivi della compressione HTTP sono principalmente due:

  • incrementare le performance della comunicazione, ottenendo pagine web che si caricano più velocemente e operazioni di download più veloci
  • ridurre il traffico di rete tra client e server web, con lo scopo di migliorare l'utilizzo della banda disponibile

In proposito può essere utile leggere le specifiche W3C del protocollo HTTP 1.1.

Requisiti

La compressione HTTP utilizza algoritmi standard di pubblico dominio per codificare files HTML, XML, Javascript, CSS ed altri formati. Poiché le specifiche sono contenute nella definizione del protocollo HTTP 1.1, tutti i browser moderni che supportano HTTP 1.1 sono in grado di decodificare contenuti compressi in modo completamente automatico: non è richiesta l'installazione di moduli aggiuntivi, né alcuna interazione con l'utente.

All'interno della richiesta HTTP il browser include le informazioni relative alla versione del protocollo HTTP supportata, ed il tipo di encoding accettato. Per esempio, una tipica richiesta HTTP può contenere le seguenti informazioni:

Esempio di richiesta HTTP

GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg
Accept-Language: it
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: www.html.it
Connection: Keep-Alive

Con la proprietà Accept-Encoding il browser dichiara di supportare i contenuti compressi tramite l'algoritmo gzip.

Dopo aver elaborato la richiesta del browser, il server web, se opportunamente configurato, può inviare la risposta in formato compresso. L'intestazione della risposta dichiara il tipo di encoding applicato. L'intestazione di una risposta HTTP può contenere le seguenti informazioni:

Esempio di risposta HTTP

HTTP/1.1 200 OK
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 2610

in cui il server dichiara di aver trasmesso il corpo della risposta HTTP informato compresso utilizzando l'algoritmo gzip.

Guide Server

Guida risparmio energetico per server

Dalla determinazione dei consumi al risparmio, dalla...

Guida Subversion

SVN è uno dei sistemi per il versioning più utilizzati al mondo....

Guida Application server

Cosa sono, quali sono e come possono essere utilizzati nella...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su Apache e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto