[英]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.