Tecnologia · 2 min read · Sep 13, 2025
mod_gzip - servire contenuti compressi dal server web Apache - Pagina 2
Autore: Michael Schröpl
Comunicazione in HTTP
Per la trasmissione di contenuti web tra server e client viene utilizzato il Protocollo di Trasferimento Ipertestuale (HTTP).
La comunicazione funziona nel seguente modo:
- Il client invia una richiesta al server. Questa richiesta consiste principalmente di intestazioni HTTP che descrivono quali dati il client desidera ricevere.
In una certa misura, il client è in grado di influenzare direttamente il contenuto dei dati (come specificare l’URL della pagina richiesta); altre parti della sua richiesta forniscono al server informazioni aggiuntive su quale tipo di dati il client preferirebbe ricevere, se il server deve offrire diverse variazioni di dati. - Il server valuta tutte le informazioni disponibili per decidere quali dati con quali attributi sono stati richiesti e successivamente tenta di fornire questi dati in una forma più adatta alla richiesta del client.
Questo pacchetto di dati contiene nuovamente intestazioni HTTP ma principalmente dati - che tuttavia possono essere interpretati solo parzialmente senza considerare le intestazioni HTTP.
Il secondo aspetto della determinazione del contenuto desiderato è chiamato Negoziazione del Contenuto nella sua forma generale. La consegna di contenuti di pagina compressi nella forma descritta qui si basa su questo principio generale.
Codifiche in HTTP
HTTP 1.1 definisce nel capitolo 3.5 le cosiddette codifiche di contenuto che dovrebbero essere supportate da ogni browser conforme a questo standard.
Per la comunicazione tra server e client, queste codifiche hanno il seguente significato:
- Questo client può specificare un elenco di codifiche di contenuto accettate nell’intestazione HTTP Accept-Encoding:. L’identità di codifica speciale (che descrive una codifica che non cambia il contenuto) sarà utilizzata implicitamente come valore predefinito.
- Il server dovrebbe fornire il contenuto del documento richiesto utilizzando una codifica accettata da questo client.
Se il server non è in grado di farlo, dovrebbe rifiutare la richiesta con il codice di stato 406 Non Accettabile; tuttavia può fornire contenuti non accettabili per questo client secondo la sua richiesta (e il cui trattamento potrebbe causare problemi irrisolvibili per il Client).
Il server web Apache utilizza una strategia difensiva a questo riguardo: se non può servire una pagina secondo le richieste del client ma ha diverse altre varianti disponibili, genera dinamicamente un documento HTML contenente una breve descrizione della situazione e collegamenti a tutti i documenti in questione. (Questo è il caso anche se questo stesso documento viene richiesto da un browser che non accetta nessuna delle lingue de e en supportate da me secondo la sua configurazione attuale; ho deliberatamente non definito un valore predefinito per rendere consapevoli i lettori di lingue straniere di queste pagine di questo problema.)
Se un server fornisce un file contenente una codifica a un client non in grado di gestirlo, allora questo client potrebbe non essere in grado di gestirlo correttamente.
Posizione originale di questo documento:
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.