linshi2007 2012-09-12 23:34
浏览 257
已采纳

浏览器缓存和304的冲突问题

最近学习apache的配置,发现Expires和304的一个问题
1.在浏览器请求静态文件时,如果之前访问过,则apache直接返回304,然后浏览器就直接调用浏览器缓存了
2.然后我开启apache的mod_expires.so配置后,浏览器还是请求了服务器,然后服务器返回304,跟不开启mod_expires.so情况没有区别,而且http头信息上Expires已经确实被正确设置了
以上问题在IE和firefox都是一样的
那是不是说,设置expires已经没有意义了,反正服务器会比对静态文件的时间戳,然后返回304;而设置了expires浏览器也还是会请求服务器的?
有大大能够解答下吗

 

  • 写回答

1条回答 默认 最新

  • jinnianshilongnian 2012-09-13 06:57
    关注

    1、Apache默认开启ETag缓存支持,你可以看到:
    If-Modified-Since:Sat, 20 Nov 2004 06:16:26 GMT
    If-None-Match:"100000005886a-2c-3e94a902f4280"

    2、可以通过如下配置禁用

    #关掉ETag
    FileETag None

    #关掉Last-Modified
    LoadModule headers_module modules/mod_headers.so

    Header unset Last-Modified

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大