簡體   English   中英

響應頭以緩存響應?

[英]response header to cache the response?

在我的Web應用程序的某些頁面中,我有兩種瀏覽器緩存方案

方案1:-如果未在服務器端進行修改,我想從瀏覽器緩存中進行服務器處理。 例如 :-

  1. 用戶向所有員工發出請求
  2. 響應返回10名員工
  3. 用戶再次向所有員工發出請求
  4. 預計這次是應該從瀏覽器緩存中投放
  5. 用戶再創建一名員工
  6. 用戶再次向所有員工發出請求
  7. 期望這次是應該從服務器而不是瀏覽器緩存中最晚提供服務

我打算在標題下面使用

response.setHeader("Cache-Control", "no-cache"); 

no-cache不會指示瀏覽器或代理有關是否緩存內容。 它只是告訴瀏覽器和代理在使用服務器之前驗證服務器的緩存內容

方案2:-但是對於某些敏感的頁面,我根本不想緩存,我計划將其使用在標題下方

response.setHeader("Cache-Control",  "no-store"); 

但是一些標題下的標題可以安全使用,以使其適用於所有瀏覽器。 所以我將在下面使用

response.setHeader("Cache-Control", "no-cache, no-store"); 

我提出的實施方案正確嗎?

對於場景1,您確實確實需要將Cache-Control設置為no-cache (或設置max-age以實現更好的可伸縮性,但在這種情況下,您將沒有必要的最新值),但是還需要使用HTTP標頭ETag ,以允許瀏覽器檢查數據內容是否已更改,以便瀏覽器將能夠知道緩存條目是否可以重用。

對於方案2,您需要將Cache-Control設置為no-store以防止瀏覽器緩存數據,因為這是標准方式,但實際上是no-cache, no-store如果您需要支持no-cache, no-store將有助於在舊的瀏覽器上工作他們也是。

暫無
暫無

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

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