网站能容发布后,经常发现自己访问网页时不更新.是因为浏览器会有缓存机制.可以通过设置页面缓存的方式,让页面每次打开都是最新的.
1 影响页面刷新的问题
几个地方的可能控制HTML的缓存信息包括:浏览器端, 中间缓存服务器端(如:squid等), Web服务器端, HTML缓存设置.本文主要针对HTML的缓存设置.
2 HTML通过meta设置网页不缓存
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
HTTP协议中关于缓存的信息头关键字包括Cache-Control(HTTP1.1),Pragma(HTTP1.0),last-Modified,Expires等.
3 HTTP1.0设置页面缓存
HTTP1.0中通过Pragma控制页面缓存.可以设置:Pragma或no-cache.通常设置的值为no-cache,不过这个值不保险,通常还加上Expires置为0来达到目的.但是如我们刻意需要浏览器或缓存服务器缓存住我们的页面这个值则要设置为 Pragma.
4 HTTP1.1设置页面缓存
HTTP1.1中启用Cache-Control来控制页面是否缓存,常用参数:
- no-cache,浏览器和缓存服务器都不应该缓存页面信息.
- public,浏览器和缓存服务器都可以缓存页面信息.
- no-store,请求和响应的信息都不应该被存储在对方的磁盘系统中.
- must-revalidate,对于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时.
- Last-Modified只页面的最后生成时间,GMT格式.
- Expires过时期限值,GMT格式,指浏览器或缓存服务器在该时间点后必须从真正的服务器中获取新的页面信息.
引用:html设置不缓存页面.