2012-09-07 9 views
25

Questa intestazione di codifica indica a un server Web di inviare contenuto gzip, se disponibile.Quale stringa di codifica dice a un server web di NON inviare contenuti gzip?

'accept-encoding': 'gzip,deflate,sdch', 

Come si può richiedere al server Web di inviare testo normale e non gzip del contenuto? Sono consapevole che il server Web può semplicemente ignorare questa richiesta se lo desidera.

+3

questo potrebbe essere solo una risposta davvero ingenuo, ma non si deve solo rimuovere la voce 'gzip' da quella lista di codifiche accettate? –

+0

non lascerebbe al web-server decidere se gzip o no? Voglio dire esplicitamente di non inviare contenuti gzip. – saeed

+1

No. Se non si 'accetta' gzip, il server potrebbe non inviare gzip. – bmargulies

risposta

16

Lasciare la codifica fuori da accept-encoding non consentirà tale codifica (ad es. Gzip).

Se si vuole esplicitamente impostarlo come non consentite, è possibile impostare una qvalue di 0.

'accept-encoding': 'gzip;q=0,deflate,sdch' 

Si può leggere di più sotto Accept-Encoding in RFC2616, ma insomma, se il server può' Per trovare una codifica accettabile tra quelle elencate (l'identità è un caso speciale, vedi il link), dovrebbe inviare una risposta 406 (Non accettabile) e non rispondere alla tua richiesta con altre codifiche.

+2

Lasciando fuori la stringa gzip ha funzionato sul server con cui sto lavorando ma qvaule no. Immagino dipenda dal server e da come è configurato. – saeed

+0

Il [busybox httpd] (https://git.busybox.net/busybox/tree/networking/httpd.c#n2356) è un esempio di un server che non supporta il valore q, quindi per alcuni dispositivi incorporati, 'gzip; q = 0' non funzionerà. –

45

Non compresa nell'intestazione accept-encoding, è possibile che si desideri la codifica predefinita, ad esempio identity. L'avvertenza qui è che il RFC2616 sec 14.3 consente al server di assumere qualsiasi codifica disponibile è accettabile.

Per richiesta di testo in modo esplicito normale, impostare 'accept-encoding: identity'

+3

Questa è l'unica risposta che ha funzionato per me. Lasciare la codifica non ha aiutato. – Andreas

+0

Hai riscontrato una risposta senza intestazioni 'content-encoding'? – Will

+0

Avrà lo stesso problema e il mio server ha risposto al contenuto gzip se non è stata specificata alcuna codifica (il server in questione era un Tomcat 8). La codifica "identità" ha risolto il mio pb. – pataluc

Problemi correlati