2012-10-12 257 views
0

在服務器 - 客戶端設置中,當服務器向客戶端發送2天到期的頁面時,我是否正確地指出,直到客戶端收到服務器響應後2天,客戶端纔會加載緩存頁面?服務器客戶端緩存

真正的問題:客戶端中的頁面尚未過期,服務器是否可以推送客戶端來檢查頁面的修改副本?

我希望客戶端只有在頁面過期或服務器推送它們時才請求。

回答

0

根據我能做的http://www.ietf.org/rfc/rfc2616.txt,是的,這就是過期控制的意圖 - 一個頁面的「過時」級別,可用於脫機瀏覽或在網絡響應不佳的情況下可接受。

第14.9.4節確實聲明客戶端和緩存在接收必須重新驗證指令時的行爲方式。這不會強制客戶端下載,只是爲了檢查服務器的最後修改日期,這是我認爲你需要的。

在IIS中的指令是

<% Response.Expires = -1 %> 

,你可以閱讀更多關於http://support.microsoft.com/kb/234067。他們討論禁用緩存,但是這樣做會破壞目的並降低效率。

在PHP中的指令是

header ("cache-control: must-revalidate");