Per verificare quale sia la codifica del corpo della risposta, è necessario controllare l'intestazione della risposta HTTP: Content-Encoding.
Al server è consentito solo l'utilizzo di codifiche specificate dall'intestazione della richiesta accept-encoding. Se il server non può fornire una risposta utilizzando una delle accettate-codifiche specificate, allora deve rispondere con 406 (Non accettabile). richiesta
Esempio: risposta
GET/HTTP/1.1
Host: www.brianbondy.com
Accept-Encoding: gzip,deflate
Esempio:
HTTP/1.1 200 OK
Date: Thu, 04 Dec 2003 16:15:12 GMT
Server: Apache/2.0
Content-Encoding: gzip
Content-Length: 1533
Altri esempi di codifica Accept-:
Accept-Encoding: compress, gzip
Accept-Encoding:
Accept-Encoding: *
Accept-Encoding: compress;q=0.5, gzip;q=1.0
Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0
Come sapere esattamente che cosa sono disponibili codifiche sul server:
Non c'è modo di sapere esattamente che cosa sono disponibili codifiche a livello di server, perché alcuni server possono supportare alcune codifiche solo per alcuni tipi di file.
Ciò significa che il meglio che puoi fare è rispondere alla domanda: Per il file specificato nella prima riga della richiesta, è disponibile la codifica specifica per questo file? Puoi rispondere negando esplicitamente la codifica del contenuto dell'identità e specificando anche la codifica che desideri conoscere.
Accept-Encoding: gzip, identity;q=0
Source of examples, HTTP RFC
fonte
2009-02-27 02:16:48
Ma la codifica di identità (vale a dire senza compressione) è sempre consentito, a meno che non vieta esplicitamente di esso.Quindi se il server restituisce Content-Encoding: identity, non si sa ancora se supporta la compressione o meno; potrebbe semplicemente aver scelto di non comprimere questa particolare risposta. – Thomas
descrizione aggiornata –
Vuoi dire 'gzip, identity; q = 0' invece di' gzip; identità; q = 0'? – Pacerier