【发布时间】:2012-07-24 02:33:17
【问题描述】:
我将我的网站配置为使用 gzip 压缩提供静态内容,如下所示:
<link rel='stylesheet' href='http://cdn-domain.com/css/style.css.gzip?ver=0.9' type='text/css' media='all' />
我没有看到任何网站做类似的事情。所以,问题是,这有什么问题?我可以期待缺点吗?
确切地说,据我了解,大多数网站都配置为仅在请求附带时才提供普通静态文件(.css、.js 等)和压缩内容(.css.gz、.js.gz 等) Accept-Encoding: gzip 标头。当所有浏览器都支持gzip 时,他们为什么要这样做?
PS:我根本没有看到任何性能问题,因为所有静态内容在上传到 CDN 之前都经过 gzip 压缩,然后 CDN 只是提供 gzip 压缩文件。因此,我的服务器上没有压力/紧张。
以防万一,这是 gzip 压缩的 CSS 文件的 HTTP 响应标头信息:
这适用于压缩后的 favicon.ico 文件:
【问题讨论】:
-
PS: Possible duplicate,我知道——但这个问题已经存在多年了,基于 浏览器支持 的答案不再相关,恕我直言。
-
为什么它们不再相关?我仍然坚持我的回答:所有现代浏览器都支持以 gzip 格式接收内容以进行传输。在服务器端如何预处理/处理内容是无关紧要的。你在这里做了一些聪明的事情,但这并不是一个真正的新问题。只要您的服务器仍然发送正确的标头,尽管它已被预处理,您将完全没问题。即使您没有发送所有正确的标头,浏览器甚至可以在这些天为您节省开支。
-
作为参考,许多网站确实这样做了,但大多数不会保留
.gzip后缀(技术上应该只有.gz)。 -
@MatthewScharley 问题是,我认为问题不仅仅是浏览器,我认为它没有被广泛采用的原因(我不知道究竟是什么,它可能是)。是的,今天所有的浏览器都非常非常好地支持 gzip。因此,在浏览器端或移动设备上都没有问题。 PS 用一些信息更新了我的问题。
-
亚马逊退货的一切都很好,所以你应该是对的。我想不出任何设备不支持
Content-Encoding: gzip的任何原因,这是当今非常 高度使用的机制。正如我已经提到的,为 gzip 压缩预处理文件并不是一个新想法(尤其是 svgz),但大多数主机将被设置为透明地处理它,而不像您使用的那样依赖文件名后缀。你真的有问题吗?如果是这样,你能强调一下吗?目前我完全错过了你的问题。
标签: gzip static-content