微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 我们可以通过一些代码强行清除浏览器缓存

我们正在开发一个具有密集静态资源的项目,以便加快页面加载,我们已经大量使用了浏览器缓存.现在我们遇到的问题是每次更新静态内容css或js.用户抱怨一些问题.我知道用户可以手动清除缓存并获得正确的东西.但是当更新文件发生时,不可能.它加载了我们使用PHP和wamp的新版本.

解决方法:

首先,这取决于你发送过期标题的时间 – 一天?周?月?

无论何时设置过期标头,您都必须等到该时间结束,然后浏览器才开始联系服务器以获取新版本.所以你必须像其他人指出的那样改变网址.

但是,对于未来,还有另一个不错的选择……

如果你设置’cache-control:’no-cache,must-revalidate“’和一个短的Expires time,那么每次想要重新显示一个缓存的对象时,浏览器都会检查服务器,使用”If-Modified“ – 自“请求标头发送服务器最初使用该缓存对象在其”Last-Modified“响应头中发送的最后一个时间戳.如果自客户端发送的时间戳以来对象已更新,则服务器将发送新对象和新的Last-Modified时间戳标头.如果不是,它将仅响应“304-Not Modified”响应头.

因此,重新验证的优点是您仍然可以节省一些带宽而客户端显示“陈旧”对象的风险很小,但缺点是客户端必须等待服务器检查客户端的If-Modified-Since标头对文件的“ Last-Modified“时间戳,当然,服务器必须实际检查文件系统以获得”Last-Modified“时间.所以保存的是实际的内容传输带宽和传输时间.

良好的阅读资源:

> http://www.mnot.net/cache_docs/
> http://code.google.com/speed/page-speed/docs/caching.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐