如何让 IIS 接受编码:gzip(gfe)

如何让 IIS 接受编码:gzip(gfe)

Google 的 PageSpeed 服务转发带有accept-encoding标头的请求gzip(gfe)。不幸的是,IIS 会因以下情况而受阻:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 11 Apr 2014 02:19:39 GMT
Connection: close
Content-Length: 311

以下是完整请求:

OPTIONS http://localhost/stream/tags HTTP/1.1
Accept-Encoding: gzip(gfe)
Content-Length: 0

HTTPERR 日志仅列出400 Bad Request,没有其他字段。

我尝试过使用 URL 重写模块来改变这个值:

  <rule name="Accept Encoding Rewrite PageSpeed" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
      <add input="{HTTP_ACCEPT_ENCODING}" pattern="gfe" />
    </conditions>
    <serverVariables>
      <set name="HTTP_ACCEPT_ENCODING" value="gzip" />
    </serverVariables>
    <action type="None" />
  </rule>

但我担心重写规则会在生成 400 之后运行。

并且还AllowWeakHeaderValueSyntax提到http://forums.iis.net/p/1176719/1976075.aspx

gzip关于如何在不使用其他设备的情况下重新映射接受编码,有什么想法吗?

相关内容