1

我在 Ubuntu 机器上的 Apache 2 上启用了 mod_deflate,并注意到我的浏览器在页面刷新时没有缓存压缩文件类型。我使用萤火虫的网络设置来检查这一点并在另一台计算机上验证。

在 mod_deflate 下,如果我压缩 css 和 js 文件,浏览器每次都会发出请求。

如果我关闭 mod_deflate,浏览器会为 css 和 js 文件获得 304。最终效果是,如果我没有启用 mod_deflate,刷新时页面加载速度会更快。

我打开的其他模块之一会导致这种情况吗?Apache中是否有某种我设置不正确的缓存设置?

我启用 mods 的目录: alias.conf
authz_default.load
autoindex.conf
deflate.load
mime.conf
php5.conf
setenvif.load
alias.load
authz_groupfile.load
autoindex.load
dir.conf
mime.load
php5.load
ssl.conf
auth_digest。加载
authz_host.load
cgi.load
dir.loadnegotiation.conf
rewrite.load
ssl.load
authn_file.load
authz_user.load
deflate.conf
env.loadnegotiation.load
setenvif.conf
_
_

4

2 回答 2

0

这实际上是 Apache 关于使用 gzip 的 Etags 的错误:

https://issues.apache.org/bugzilla/show_bug.cgi?id=45023

转动 ETags 有效,但有更好的解决方法:

<IfModule mod_headers.c>
    RequestHeader  edit "If-None-Match" "^(.*)-gzip$" "$1"
    Header  edit "ETag" "^(.*[^g][^z][^i][^p])$" "$1-gzip"
</IfModule>
于 2009-11-12T15:41:15.400 回答
0

我以为我之前回答过这个问题......虽然没有发布。对不起,如果它最终成为一个双重职位。

原来是 etags 导致了这个问题。我不知道为什么,但是当我们关闭 etags 时,浏览器开始正确缓存内容。在 Google 上搜索 FileETags。

现在,我不确定为什么关闭 etags 会这样做……如果有人知道,请在此线程中发帖。谢谢!

于 2009-05-30T00:12:19.043 回答