簡體   English   中英

http協議中的緩存驗證(緩存控制標頭不緩存)有什么作用?

[英]What does cache validation (no-cache for cache-control header) do in http protocol?

我試圖了解cache-control http標頭的工作方式。

cache-control標頭可以具有no-cache值。 我已經檢查了w3c的定義,它說:

如果no-cache指令未指定字段名,則在未經原始服務器成功重新驗證的情況下, no-cache不得使用響應來滿足后續請求。

它告訴no-cache值將觸發每個請求的驗證。

我想知道的是,什么是cache validation以及它在http協議中的作用?

感謝您的幫助。 現在我了解驗證意味着檢查緩存是否包含來自服務器的最新內容。

我的進一步問題是無緩存將解決哪些問題。 請提供一些方案,例如在http標頭中應用無緩存后,將解決哪些安全問題。

多謝你們

no-cache指令不用於安全目的。 安全性定義在規則中,這些規則定義了不允許緩存CDN /代理服務器的哪些數據/資源。 因此,如果需要安全性,則客戶端/服務器應使用no-store指令。 看下:

客戶端准備好從緩存中接受資源時,如果服務器已確認緩存的資源是最新的(新鮮),則使用no​​-cache指令。 proxy / cdn可以使用兩種方法來重新驗證資源的新鮮度:

1)如果客戶端發送了ETAG值,則proxy / cdn可以在If-None-Match標頭下將其轉發到服務器。 如果服務器以“ 304 Not Modified”(304未修改)作為響應,則緩存的資源可以新鮮使用。

2)使用If-Modified-Since標頭和上次從服務器下載資源時收到的日期值(可以在服務器上次響應的Last-Modified標頭下找到)。

暫無
暫無

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

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