HTTP接受编码头中的* / *是否支持Gzip?

时间:2014-08-07 12:43:59

标签: gzip amazon-cloudfront http-accept-encoding

我正在尝试使用Gzip从Amazon CloudFront提供一些JS和CSS文件。在instructions之后,似乎我应该确定客户端在呈现我的页面时是否支持Gzip,如果是,我将.gz附加到文件URL。

问题在于,当我检查浏览器请求时,他们似乎确实将Accepts-Encoding:gzip(或deflate)标头添加到JS或CSS文件的请求中,但不是HTML文件的请求。 HTML请求是我需要阅读标题的地方。 JS或CSS请求将转到CloudFront,而不是我的服务器。

因此,如果我在HTML请求的Accept-Encoding中看到 / ,假设客户端支持gzip是否安全?

2 个答案:

答案 0 :(得分:1)

  

根据RFC 2616,第14.1节,星号" *" character用于将媒体类型分组到范围中,使用" * / *"指示所有媒体类型.....

     

在此处详细了解http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

简而言之Accept-Encoding: */*表示接受所有媒体类型,Accept-Encoding: gzip表示接受gzip压缩。

答案 1 :(得分:1)

不完全是。虽然*/*意味着客户声称“我会接受任何东西”,但我今天下午可以发明一种新编码,即地球上没有任何东西可以接受,并且观看接受“任何东西”的浏览器无法处理它。 (对于(内容类型)Accept标头, / 更有意义,因为浏览器总是可以保存文件。)

也就是说,对gzip编码的支持是非常普遍存在,因此可以安全地假设任何声称接受它(或接受“任何”)的客户端都会支持它。