2012-09-07 70 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

相关问题