HTTP header中的 Cache-control
網(wǎng)頁(yè)的緩存是由HTTP消息頭中的“Cache-control”來(lái)控制的,常見(jiàn)的取值有private、no-cache、max-age、must-revalidate等,默認(rèn)為private。其作用根據(jù)不同的重新瀏覽方式分為以下幾種情況:
(1) 打開(kāi)新窗口
如果指定cache-control的值為private、no-cache、must-revalidate,那么打開(kāi)新窗口訪問(wèn)時(shí)都會(huì)重新訪問(wèn)服務(wù)器。而如果指定了max-age值,那么在此值內(nèi)的時(shí)間里就不會(huì)重新訪問(wèn)服務(wù)器,例如:
Cache-control: max-age=5
表示當(dāng)訪問(wèn)此網(wǎng)頁(yè)后的5秒內(nèi)再次訪問(wèn)不會(huì)去服務(wù)器
(2) 在地址欄回車(chē)
如果值為private或must-revalidate(和網(wǎng)上說(shuō)的不一樣),則只有第一次訪問(wèn)時(shí)會(huì)訪問(wèn)服務(wù)器,以后就不再訪問(wèn)。如果值為no-cache,那么每次都會(huì)訪問(wèn)。如果值為max-age,則在過(guò)期之前不會(huì)重復(fù)訪問(wèn)。
(3) 按后退按扭
如果值為private、must-revalidate、max-age,則不會(huì)重訪問(wèn),而如果為no-cache,則每次都重復(fù)訪問(wèn)
(4) 按刷新按扭
無(wú)論為何值,都會(huì)重復(fù)訪問(wèn)
當(dāng)指定Cache-control值為“no-cache”時(shí),訪問(wèn)此頁(yè)面不會(huì)在Internet臨時(shí)文件夾留下頁(yè)面?zhèn)浞荨?br />另外,通過(guò)指定“Expires”值也會(huì)影響到緩存。例如,指定Expires值為一個(gè)早已過(guò)去的時(shí)間,那么訪問(wèn)此網(wǎng)時(shí)若重復(fù)在地址欄按回車(chē),那么每次都會(huì)重復(fù)訪問(wèn)。
(對(duì)于要求必須進(jìn)行Authenticate才能訪問(wèn)的敏感頁(yè)面,可以設(shè)置其為no-cache,這樣,每次瀏覽器動(dòng)作都會(huì)要求刷新改頁(yè)面,在頁(yè)面表單上填充的內(nèi)容也不會(huì)被保留。)
?
?
useful link:
http://www.javaeye.com/topic/294814
http://www.javaeye.com/topic/462476
總結(jié)
以上是生活随笔為你收集整理的HTTP header中的 Cache-control的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转]ArcGIS.Server.9.3
- 下一篇: mtu值修改