2012-09-07 38 views
25

此編碼標頭告訴Web服務器發送gzip內容(如果可用)。什麼編碼字符串告訴Web服務器不要發送gzip內容?

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

如何指示Web服務器發送純文本而不是gzip內容? 我知道,如果需要,Web服務器可以簡單地忽略此請求。

+3

這可能只是一個非常幼稚的答案,但你不應該只是刪除接受編碼的該名單上「的gzip」條目? –

+0

不會留給網絡服務器來決定是否要gzip?我想明確說不要發送gzip內容。 – saeed

+1

否。如果您不接受gzip,服務器可能不會發送gzip。 – bmargulies

回答

16

使編碼脫離接受編碼將禁止該編碼(即gzip)。

如果你想明確設置爲不允許,可以設置爲0

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

一個qvalue您可以閱讀RFC2616編碼接受更多之下,但在短期,如果服務器可以」 t找到一個可接受的編碼列表(身份是一種特殊情況,請參閱鏈接),它應該發送一個406(不可接受)響應,而不是用任何其他編碼回覆您的請求。

+2

退出gzip字符串在我正在使用的服務器上工作,但qvaule沒有。我想這取決於服務器以及它的配置。 – saeed

+0

[busybox httpd](https://git.busybox.net/busybox/tree/networking/httpd.c#n2356)是一個不支持qvalue的服務器的例子,所以對於一些嵌入式設備,'gzip; q = 0'不會工作。 –

45

不包括accept-encoding標題意味着您可能需要默認編碼,即identity。這裏需要注意的是,RFC2616 sec 14.3允許服務器假定任何可用的編碼都是可以接受的。

明確要求純文本,設置'accept-encoding: identity'

+3

這是唯一對我有用的答案。離開編碼沒有幫助。 – Andreas

+0

您是否遇到過沒有「內容編碼」標題的回覆? – Will

+0

將>我有同樣的問題,如果沒有指定編碼(我說服務器是Tomcat 8),我的服務器回覆gzip內容。 「身份」編碼解決了我的pb。 – pataluc

相關問題