前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache强制浏览器清除缓存的方法

Apache强制浏览器清除缓存的方法

原创
作者头像
用户7639835
修改2021-09-01 14:52:34
2.6K0
修改2021-09-01 14:52:34
举报
文章被收录于专栏:技术知识分享

在日常网页建设时,如遇到更新页面css的时候,需要Apache进行清除以清除所有浏览器上的缓存,从而强制完全重新加载站点。

设置浏览器缓存的四种方法

1、Last Modiefied:请求页面A,服务器会返回给浏览器页面A,并且加上一个lastmodified的标识表示最后的修改时间,那再次返回的时候,浏览器会通过if -modifiedsince询问在这个最后的修改时间之后是否修改过这个文件,然后服务器进行对比,最后服务器检查两个值的时间是否一致,如果一致,返回304缓存,不一致200。

2、Etag:与Last-Modiedied功能一致,Etag的出现弥补了Last-Modiedied的不足;

只能精确到秒:如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件的修改时间。

内容定期生成:当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存。

没有准确获取文件修改时间:有可能存在服务器没有准确获取文件修改时间,或者与代理服务器时间不一致等情形。

3、Expire:在响应http请求时告诉浏览器在过期时间前可以直接从浏览器缓存取数据,而无需再次请求。

4、cache-control的浏览器缓存其实跟EXPIRES作用是一致的,但是在设置上会更加的细致,可以满足很多不同的需求。

实例操作: 打开Apache的httpd.conf文件

1 将 LoadModule headers_module modules/mod_headers.so 这一行注释打开

2 添加以下内容

代码语言:javascript
复制
<FilesMatch "\.(php|js|css|swf|html)$">
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档