2012-11-30 58 views
3

我已搜查緩存主題和我在下面高速緩存系統的工作原理網站

<meta http-equiv="Cache-control" content="description"> 

說明結束了

Public - may be cached in public shared caches 
Private - may only be cached in private cache 
no-Cache - may not be cached 
no-Store - may be cached but not archived 

什麼是他們真正的意思

1.Does公衆共享緩存意味着文件將從代理緩存和網關緩存中下載。

2.是否使用私有卡ches表示在客戶端系統中存儲的瀏覽器高速緩存或高速緩存中引用的文件

3.當描述設置爲no-Cache時,是否會從Web服務器加載新版本。每次下載新文件時頁面加載。

4.當他們說不存檔時,他們的真正含義是什麼?

請簡要解釋緩存如何工作,而不是解釋所有人都可訪問的公共方法,私人方式意味着訪問受限。

回答

1

報價從http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1

14.9.1什麼是可高速緩存

缺省情況下,反應是可高速緩存的請求是否 方法,請求的報頭字段,和響應狀態的要求表明那 它是可緩存的。第13.4節總結了緩存能力的這些缺省值 。下面的Cache-Control響應指令允許 原始服務器覆蓋響應的缺省可緩存:

公共

表示響應可以由任何緩存緩存,即使它通常是不只能在非共享的緩存中緩存或緩存。 (另請參閱授權,部分14.8,對於額外的細節。)

私人

表示所有或響應消息的一部分是爲單個用戶並且不能由一個共享緩存進行緩存。這允許 原始服務器聲明 響應的指定部分僅適用於一個用戶,並且不適用於其他用戶請求的有效響應。私有(非共享)緩存可以緩存響應。

注意:單詞private的這種用法僅控制響應可能被緩存的位置,並且不能保證消息 內容的隱私。 no-cache

如果no-cache指令沒有指定字段名,那麼緩存不得使用該響應來滿足後續請求 而不成功地對源服務器進行重新驗證。這允許 原始服務器甚至通過配置爲將 配置爲對客戶端請求返回陳舊響應的高速緩存來防止高速緩存。

如果no-cache指令沒有指定一個或多個字段名稱,則緩存可以使用該響應來滿足隨後的請求,這受到對緩存的任何其他限制。但是,指定的 字段名不得在對後續請求 的響應中發送,而不會對源服務器成功重新生效。這允許 原始服務器阻止重新使用 響應中的某些頭字段,同時仍允許緩存其餘響應。

注意:大多數HTTP/1.0緩存不會識別或遵守此指令。

14.9.2什麼可以被緩存存儲

無店鋪

無店鋪指令的目的是爲了防止敏感信息的意外泄露或保留(用於 例如,在備份磁帶上)。無存儲指令適用於整個消息,並且可以通過響應或請求發送。

如果在請求中發送,緩存不得存儲這個 請求的任何部分或對它的任何響應。如果在響應中發送,緩存不得存儲此響應的任何部分或引起 的請求。該指令適用於非共享和共享高速緩存。 「不得存儲」在這種情況下,意味着緩存不得有意將信息存儲在非易失性存儲器中,並且必須儘快嘗試在轉發之後儘快從易失性存儲器中刪除信息。

即使此指令與響應關聯,用戶也可能在高速緩存系統 之外(例如,使用「另存爲」對話框)顯式地存儲此類響應。歷史緩衝區可以將這種響應作爲其正常操作的一部分存儲。

該指令的目的是爲了滿足某些用戶和服務作者關於 通過意外訪問緩存數據結構意外發布的信息的要求。雖然在某些情況下使用此指令可能會提高隱私 ,但我們提醒您,它絕不是可靠的或足以確保隱私的機制。特別是,惡意或者被破壞的緩存可能無法識別或遵守該指令,並且通信網絡可能容易被竊聽。

+0

感謝您的回覆 – ArrayOutOfBound