回答
據我知道你可以控制強制瀏覽器通過這些元標籤的方式來重新加載數據:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Expires" content="0">
,但你不能迫使它從緩存中讀取。如果您沒有明確指定忽略緩存,並且頁面數據實際上已被緩存且未過期,則瀏覽器本身將爲您執行此操作。
這不依賴於CodeIgniter,因爲它是客戶端,但您可能需要使用CI的html helper中包含的meta()函數,該函數將簡單輸出相應的元標記。例如:
echo meta('Cache-control', 'no-cache', 'http-equiv');
將生成上面的第二個代碼行。
注:
的第一元標記被指定用於HTTP/1.0,而第二一個是HTTP/1.1,但兩者都使用,以允許向後兼容。
如果您使用XHTML,而不是HTML記得與
/>
瀏覽器緩存關閉meta標籤無關與笨。您可以使用HTML元標記來指示瀏覽器特別是不緩存的頁面,也可以設置高速緩存期滿個別網頁像這樣:
<meta http-equiv="expires" content="Mon, 10 Dec 2001 00:00:00 GMT" />
您可以使用一點的PHP在那裏下降明天的日期。瀏覽器(取決於設置)通常會自動從緩存中提取儘可能多的內容,包括單擊後退按鈕時 - 後退按鈕的緩存工作方式與來自其他任何鏈接的緩存相同。
您可以在apache服務器上使用類似於以下內容的設置,通過您的htaccess設置expires頭文件(您將不得不詢問如何在其他服務器類型上執行此操作),以告訴瀏覽器應該緩存某些類型的內容給定的時間段:
ExpiresByType text/html "access plus 60 seconds"
這將告訴瀏覽器來存儲MIME類型的文本什麼/ HTML 60秒(包括笨輸出)但不要,如果你處理動態內容這將做到這一點停止任何正在加載的動態頁面內容,並停止對正在被返回的訪問者加載的內容所做的任何更改(顯然,第二部分不是60秒緩存存在這樣的問題)。
要實現的關鍵是你的頁面不是一件事,它由很多部分組成,其中一些部分應該從緩存(js,css,圖像等)調用,一些不應該(經常HTML將屬於這個類別)。 瀏覽器會自動調用緩存未過期的頁面中的所有部分。
通常你會使用.htaccess(或類似的方法)來緩存你的CSS,圖像等(使用文件名中的版本來強制重新加載時)。
你還應該利用服務器端緩存 - codeigniter這樣做整個頁面,但我不傾向於發現這對任何類型的動態網站非常有用,所以我會看看使用菲爾鱘部分緩存庫CI,如果你有興趣SS緩存:
https://github.com/philsturgeon/codeigniter-cache
這不會停止的請求被髮送到服務器,但將意味着請求需要較少的處理,並且可以充當靜態內容的一個或數件。
- 1. 利用瀏覽器緩存 - 正確獲取緩存方法
- 2. 在JSP中啓用瀏覽器緩存
- 3. 爲lighttpd/thin啓用瀏覽器緩存
- 4. 如何啓用瀏覽器緩存在春季啓動
- 5. codeigniter中的瀏覽器緩存問題
- 6. 如何禁用瀏覽器緩存?
- 7. 利用瀏覽器緩存
- 8. 禁用瀏覽器緩存
- 9. 如何在GAE中啓用瀏覽器緩存
- 10. 使用.htaccess文件在Wordpress中啓用瀏覽器緩存
- 11. 使用Selenium清除瀏覽器緩存
- 12. 使用BottlePy/GAE瀏覽器緩存
- 13. 如何啓用永不過期使用Spring MVC WebContentInterceptor的瀏覽器緩存?
- 14. 如何利用Blogger使用瀏覽器緩存?
- 15. Codeigniter禁用管理面板的瀏覽器頁面緩存
- 16. 確保緩存清單不被使用IIS的瀏覽器緩存
- 17. 如果瀏覽器未使用,瀏覽器會緩存CSS背景圖片嗎?
- 18. 如何強制客戶端的瀏覽器使用緩存?
- 19. 如何清除使用PHP 5.3的IE8瀏覽器緩存
- 20. 如何使用瀏覽器緩存配置的ETag
- 21. 如何有效地使用瀏覽器緩存進行圖像?
- 22. 如何防止瀏覽器使用舊的緩存的index.html?
- 23. 如何使用browserSync處理瀏覽器緩存?
- 24. 如何刪除使用AngularJS的HTML中的瀏覽器緩存?
- 25. JavaScript:如何強制Image()不使用瀏覽器緩存?
- 26. 如何使用代碼清除瀏覽器緩存
- 27. 如何使用angularjs清除瀏覽器緩存?
- 28. 使用Rails,我如何過期瀏覽器的緩存?
- 29. 如何防止瀏覽器使用NGINX緩存特定圖像
- 30. 如何使用angularjs代碼刪除瀏覽器緩存?
這取決於你使用的是什麼網絡服務器,比如Apache,NGINX,Lighttpd等等都以不同的方式處理它。這與CI本身沒有多大關係,儘管... – Brendan
你是說在服務器端緩存你的頁面/查詢嗎? CI有兩種方法。 – Chords