關於禁止瀏覽器緩存頁面的問題

有一個需求需要保持頁面是最新的,即每次訪問頁面,無論是跳轉還是後退都需要保證頁面需要是最新的狀態,遇到的一些問題及思考

  1. html 添加 meta標籤處理
<meta http-equiv="pragram" content="no-cache">  
<meta http-equiv="cache-control" content="no-cache, must-revalidate"> 
<meta http-equiv="expires" content="0">
很明確的是,這段代碼 毫無有用處,不知道是哪一代遠古時期的處理方案,針對現代瀏覽器絲毫不起任何作用
  1. 鏈接增加時間戳
    類似的就是 http://xxx.com?t=12334543,跟上一個隨機數,針對每次新的請求是有效的

  2. 服務器端通過控制請求頭來處理
    類似的代碼 ,以下c# 代碼 (netcore)

  Response.Headers["Cache-Control"] = "no-cache, no-store, must-revalidate";
  Response.Headers["Pragma"] = "no-cache";
  Response.Headers["Expires"] = "-1";

基本上通過瀏覽器查看 頁面不會從 disk或者memory裏獲取,每次主動請求算是都會刷新頁面到最新。


到此,以上有些可行方案對於 跳轉請求是有效的,然而這邊關心的是後退也需要刷新。pc大部分瀏覽可以做到後退也刷新,然而移動端不行。這就比較麻煩,百度,谷歌了很久,最終可靠的結論是,必須要網站是Https協議搭配 第3方案可以達到目的。

關於相關的討論 鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章