簡體   English   中英

HTTP緩存,用戶身份驗證和PHP

[英]HTTP Caching, User Authentication and PHP

我正在使用PHP開發某些軟件,並且正在努力使其有效利用HTTP緩存。 但是,我最近遇到的問題之一是登錄后,登錄之前訪問的頁面會被緩存,並且無法像登錄時那樣工作。

如果PHP和客戶端之間存在HTTP緩存,則這尤其成問題。 如果我將緩存限制器設置為始終為“公共”,則該頁面大概將一直被緩存(即使是通過代理緩存)。如果我將緩存限制器在未登錄時設置為“公共”,而在登錄時設置為“私有”在中,我目前遇到的問題可能仍然會發生。 如果我將緩存限制器設置為始終為私有,則代理緩存根本不會受益,並且我目前遇到的問題可能仍然會發生。

解決此問題的理想解決方案是什么? 用戶登錄后,是否有辦法導致Web瀏覽器“重試”? 對於代理緩存,我知道有一些方法可以基於傳入的Cookie進行緩存,因此我相信這可以解決部分問題。 但是,從Web瀏覽器的角度來看,該問題如何處理?

這里沒有很好的解決方案,但是您有兩種選擇:

  1. 通過利用AJAX通過JSON服務請求登錄狀態,使無論用戶是否登錄,頁面都完全相同。
  2. 不緩存頁面,僅緩存腳本,樣式和圖像。 HTML的瀏覽器緩存僅在您的用戶不斷瀏覽相同頁面且期望得到不同結果時才有用。 這是您的用例嗎? 如果是這樣,則您可能已經在使用AJAX來提供實時更新,並且實現選項1可能不是一個巨大的飛躍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM