页面中设置缓存为no-cache,请求头中显示的max-age=0 是缓存了还是没缓存?

请求详情如下:
图片描述

在代码上加入了禁止缓存的标签如下

<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">

请问这种情况是否阻止了浏览器对页面进行缓存?在实际的使用中发现,更改css重新发布后,其他使用过上一次发布页面的浏览器依然使用的是上一次发布的css,导致页面显示出现问题,F5刷新之后显示正常,这样的问题该如何解决?包括手机上访问应如何禁止页面的缓存?

阅读 13.3k
3 个回答

你的截图显示的你的那次请求,服务端没有变动,或者说浏览器端存的缓存的时间和服务端的修改一样。
检查你的服务器的静态缓存更新时间吧。
一般不建议去掉缓存,而是更新的后更改版本号啊等等的方式刷新缓存。

手机上面访问禁止缓存的方法我一般用的是加后缀。
举个例子:

clipboard.png
(例子是JS的)。
后缀就是当前的时间戳。

最好PHP设置响应头

@header("Cache-Control:no-cache; marx-age=0");
@header("Pragma:no-cache");
// 还有Expires, 当前GTM时间 串

不同浏览器和版本, 识别的方式不一样, 似乎都会认可 Cache-Control

另看一下百科 Cache-Control

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏