我對 Web 開發有點陌生,并注意到一個問題,瀏覽器似乎不尊重 Cache-Control 標頭,我將其設定為no-cache, no-store, must-revalidate但我的許多客戶都有一個快取開始(根據 no-store 應該防止https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#no-store),當我更改 JS 時,使用快取而不是重新驗證導致頁面損壞的服務器頁面中參考的腳本,只有在我告訴他們在沒有快取的情況下重繪 之后,瀏覽器才會獲取新檔案,但是為了讓瀏覽器符合 HTTP 協議和規范,他們不需要尊重no-store策略或主要瀏覽器都沒有正確符合 HTTP 協議/規范,為什么它們沒有得到修復,所以我們不需要像附加到檔案的查詢字串或使用檔案的哈希或上次修改日期這樣的變通解決方案?
uj5u.com熱心網友回復:
您最初提供的資源沒有快取標頭。在這種情況下,規范允許客戶端自己選擇快取時間:
由于原始服務器并不總是提供明確的過期時間,快取可以在未指定明確時間時分配啟發式過期時間,采用使用其他頭欄位值(例如
Last-Modified時間)的演算法來估計合理的過期時間。
不同的瀏覽器會使用不同的演算法,但無論如何它可能不會很長。您的問題可能已經自行解決。
至于添加查詢字串,我不確定您指的是什么技術,但是,不,它不是禁用快取的首選技術。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/448707.html
