在日常网页建设时,如遇到更新页面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 添加以下内容
<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 删除。