【问题标题】:apache server mod_expire usageapache 服务器 mod_expire 用法
【发布时间】:2011-12-21 20:14:41
【问题描述】:

我使用的是 Apache 2.2.20。我将expire_mod 设置为“访问加 5 分钟”。我使用某个网站检查标题,我确信标题中确实有一个过期目录。 但是,当我使用 tcpdump 监控网络流量时,当我使用 Firefox 重新加载网页时,我仍然看到数据包传输,应该不会过期。有谁知道这是什么原因?谢谢。

【问题讨论】:

  • 显示配置,向我们展示 Apache 为您认为应该触发您的 mod_expires 指令的 URL 返回的标头
  • 标头返回:HTTP/1.1 200 OK 日期:2011 年 12 月 21 日星期三 20:19:36 GMT 服务器:Apache/2.2.20 (Unix) DAV/2 缓存控制:max-age= 300 过期:2011 年 12 月 21 日星期三 20:24:36 GMT 内容类型:text/html;charset=UTF-8
  • 我在配置文件中添加了以下行。 ExpiresActive On ExpiresDefault "access plus 5 minutes"
  • 好的,所以你的服务器配置正确(Cache-Control 存在)

标签: apache tcpdump mod-expires


【解决方案1】:

当您点击浏览器的“重新加载”按钮时,浏览器会假定它应该尝试重新加载页面的所有元素。

您已正确配置了 mod_expires。但是,这不会阻止浏览器尝试:当您点击重新加载按钮时,无论如何都会发送对每个元素的请求,带有 If-Modified-Since 标头,但是因为在 Apache 端,它没有被修改, Apache 将返回一个304 Not modified

所以,您确实看到了流量,而不是整个页面的重新加载。您可以使用用于捕获标头以确认 keepalive 正常工作的相同工具来见证这一点(顺便说一下,5 分钟的 max-age 很低)。

【讨论】:

    猜你喜欢
    • 2015-06-07
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2015-07-03
    相关资源
    最近更新 更多