我正在做一些ajax,我得到一个静态的html文件,该文件实际上在磁盘上经常被更改。当然IE有一个问题,它希望通过缓存我不想要的文件来帮助。我知道如何在抓取动态文件时修复此问题:您只需更改动态文件中的标题即可。但是我如何为静态html文件执行此操作?请注意,我使用的是apache。
由于
答案 0 :(得分:3)
在Apache级别,您可以使用mod_expires模块设置文档的到期日期。
来自文档:
的更多详情此模块控制服务器响应中的Expires HTTP标头和Cache-Control HTTP标头的max-age指令的设置。到期日期可以设置为相对于上次修改源文件的时间或客户端访问时间。
这些HTTP标头是客户关于文档有效性和持久性的指令。如果缓存,则可以从缓存而不是从源获取文档,直到此时间过去。之后,缓存副本被视为“已过期”且无效,并且必须从源中获取新副本。
答案 1 :(得分:1)
如果您可以使用mod_expires
作为Marcel建议,则可以随时附加随机请求参数。
例如,您可以请求static_file.html
而不是请求static_file.html?_=1231231231
,而是每次都更改该请求参数。
jQuery有一个非常简单的方法:
$.ajax({cache: false, url: static_file.html});