Thinkphp 3.2中控制页面不缓存
2018-05-24 本文已影响0人
TsingXu
最近开发WAP网站时,最讨厌的就是back键,会造成些麻烦事。不过,问题总有办法解决。
有些页面,点击back键回退会加载缓存,这不是想要的,所以希望能够控制该页面不缓存,每次请求都需要从服务器获取最新数据。
解决思路就是通过控制 HTTP 的Cache-control 头
image可以看到,Thinkphp 3.2 默认的Cache-control 为 private
那是因为配置文件中默认设置为 private
image页面在渲染的时候将这个配置中的值设置为 Cache-control 头
image那根据以上信息,一开始我只想到两种解决办法:
1、修改配置中的值 => 不现实,全局修改了
2、改写源码 => TP不可能这么傻
最后的解决办法是:在控制页面不缓存的方法中设置 C('HTTP_CACHE_CONTROL',"no-store");
那么顺便再巩固下 Cache-control 头的一些参数设置:
具体参考 MDN 的web docs
不积跬步无以至千里