<a href="http://www.cnblogs.com/yinhaiming/articles/1490811.html">http://www.cnblogs.com/yinhaiming/articles/1490811.html</a>
<a href="http://www.cnblogs.com/yinhaiming/articles/1490811.html">Expires和max-age的差別</a>
網頁的緩存是由HTTP消息頭中的“Cache-control”來控制的,常見的取值有private、no-cache、max-age、must-revalidate等,預設為private。其作用根據不同的重新浏覽方式分為以下幾種情況:
(1) 打開新視窗
如果指定cache-control的值為private、no-cache、must-revalidate,那麼打開新視窗通路時都會重新通路伺服器。而如果指定了max-age值,那麼在此值内的時間裡就不會重新通路伺服器,例如:
Cache-control: max-age=5
表示當通路此網頁後的5秒内再次通路不會去伺服器
(2) 在位址欄回車
如果值為private或must-revalidate(和網上說的不一樣),則隻有第一次通路時會通路伺服器,以後就不再通路。如果值為no-cache,那麼每次都會通路。如果值為max-age,則在過期之前不會重複通路。
(3) 按後退按扭
如果值為private、must-revalidate、max-age,則不會重通路,而如果為no-cache,則每次都重複通路
(4) 按重新整理按扭
無論為何值,都會重複通路
當指定Cache-control值為“no-cache”時,通路此頁面不會在Internet臨時文章夾留下頁面備份。
另外,通過指定“Expires”值也會影響到緩存。例如,指定Expires值為一個早已過去的時間,那麼通路此網時若重複在位址欄按回車,那麼每次都會重複通路:
Expires: Fri, 31 Dec 1999 16:00:00 GMT
在ASP中,可以通過Response對象的Expires、ExpiresAbsolute屬性控制Expires值;通過Response對象的CacheControl屬性控制Cache-control的值,例如:
Response.ExpiresAbsolute = #2000-1-1# ' 指定絕對的過期時間,這個時間用的是伺服器當地時間,會被自動轉換為GMT時間
Response.Expires = 20 ' 指定相對的過期時間,以分鐘為機關,表示從目前時間起過多少分鐘過期。
Response.CacheControl = "no-cache"
Expires值是可以通過在Internet臨時檔案夾中檢視臨時檔案的屬性看到.