web应用的缓存问题

zcfrank1st 发布于 2014/06/19 12:08
阅读 163
收藏 0
请教一下,ngnix如何设置可以让新版本上线的服务,在不要求客户清缓存的情况下,正常访问? 我们现在总是遇到清缓存的问题。我现在知道的是浏览器访问服务,先通过nginx进行代理,若nginx返回http头信息,比如说 not modified,则浏览器就会去读取本地所缓存的文件,而不是读取新版本的文件。怎样设置nginx可以让客户端正确获取新版本的文件,同时又能正确的使用缓存?
加载中
0
tsl0922
tsl0922

比较常见的做法是:在页面引用静态资源的时候添加时间戳,每次改了这个资源后,更新这个时间戳。比如 OSC 的:http://www.oschina.net/css/channel.css?date=2014042202

还有一种就是:用 MD5 作为文件名,这个可以借助一些工具来做,有的 web 框架还提供了这个功能,比如 Rails 的 Assert Pipeline,支持压缩合并 JS/CSS 并生成 MD5 文件名。

zcfrank1st
zcfrank1st
@FoxHu 知道了,类似freemarker,是后端生成的,是吧
FoxHu
FoxHu
回复 @zcfrank1st : osc页面是用velocity模板引擎生成的!
zcfrank1st
zcfrank1st
感谢回答~ 我大概清楚你说的两种解决方法了,但是有点疑问?我用chrome请求OSC,看获取的文件,似乎在页面生成的时候没有使用html,我想问一下,页面是动态生成的吗? 还有html可以带版本或者时间戳进行区分吗?谢谢
返回顶部
顶部