最近開發(fā)WAP網(wǎng)站時(shí),最討厭的就是back鍵,會(huì)造成些麻煩事。不過,問題總有辦法解決。
有些頁面,點(diǎn)擊back鍵回退會(huì)加載緩存,這不是想要的,所以希望能夠控制該頁面不緩存,每次請(qǐng)求都需要從服務(wù)器獲取最新數(shù)據(jù)。
解決思路就是通過控制 HTTP 的Cache-control 頭
image
可以看到,Thinkphp 3.2 默認(rèn)的Cache-control 為 private
那是因?yàn)榕渲梦募心J(rèn)設(shè)置為 private
image
頁面在渲染的時(shí)候?qū)⑦@個(gè)配置中的值設(shè)置為 Cache-control 頭
image
那根據(jù)以上信息,一開始我只想到兩種解決辦法:
1、修改配置中的值 => 不現(xiàn)實(shí),全局修改了
2、改寫源碼 => TP不可能這么傻
最后的解決辦法是:在控制頁面不緩存的方法中設(shè)置 C('HTTP_CACHE_CONTROL',"no-store");
image
那么順便再鞏固下 Cache-control 頭的一些參數(shù)設(shè)置:
具體參考 MDN 的web docs
不積跬步無以至千里