0

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

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

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

4

2 回答 2

1

根据 RFC 2616 第 14.1 节,星号“*”字符用于将媒体类型分组为范围,“*/*”表示所有媒体类型.....

在此处阅读更多相关信息http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

简而言之Accept-Encoding: */*,意味着所有媒体类型都被接受,并且Accept-Encoding: gzip意味着 gzip 压缩被接受。

于 2014-08-10T15:51:58.230 回答
1

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

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

于 2014-08-10T16:02:38.897 回答