理解ASP.NET與客戶端緩存之HTTP協議
2006/12/13 9:04:40
前言
這個系列的文章要討論的是如何通過ASP.NET服務器端技術來優化客戶端緩存策略,而且讓這種策略變得可配置和可擴展。我們要了解的知識從HTTP協議中相關屬性對客戶端緩存的影響,到ASP.NET如何控制這些屬性來實現我們的緩存策略。
HTTP基礎知識
由于討論涉及到客戶端緩存,所以還是先要簡單介紹一下HTTP協議是如何控制客戶端緩存的,這里涉及到HTTP頭的Last-Modified、ETag等屬性。
Last-Modified
在瀏覽器第一次請求某一個URL時,服務器端的返回狀態會是200,內容是你請求的資源,同時有一個Last-Modified的屬性標記此文件在服務期端最后被修改的時間,格式類似這樣:
Last-Modified: Fri, 12 May 2006 18:53:33 GMT
客戶端第二次請求此URL時,會在頭部加入一個屬性,詢問該時間之后文件是否有被修改過:
If-Modified-Since: Fri, 12 May 2006 18:53:33 GMT
如果服務器端的文件沒有被修改過,則返回狀態是304,內容為空,這樣就節省了傳輸數據量。如果服務器端的文件被修改過,則返回和第一次請求時類似。
ETag
和Last-Modified類似,由于RFC2616(也就是HTTP/1.1)中沒有說明ETag該是什么格式的,只要確保用雙引號括起來就行了,所以你可以用文件的hash,甚至是直接用Last-Modified,以下是服務器端返回的格式:
ETag: "50b1c1d4f775c61:df3"
客戶端的查詢更新格式是這樣的:
If-None-Match: W/"50b1c1d4f775c61:df3"
如果ETag沒改變,則返回狀態304然后不返回,這也和Last-Modified一樣。
Expires
這個屬性就如我們在ASP中使用HttpResponse.ExpiresAbsolute一樣直接,聲明某某時刻過期之后瀏覽器就應該重新請求該URL,使用格式為:
Expires: Sun, 10 Feb 2002 16:00:00 GMT
注意HttpResponse.ExpiresAbsolute在ASP.NET中是不建議使用的,現在我們應該使用的是HttpResponse.Cache.SetExpires。
Pragma
通常我們用到的值就是no-cache,這和在Cache-Control中使用no-cache值是一樣的,Cache-Control在下面講。Pragma的使用格式如下:
Pragma: no-cache
Cache-Control
這是一個集合型屬性,它里面能夠包含很多子屬性,并且允許用戶擴展新的子屬性。常見的子屬性包括:
max-age - 以秒為單位的超時,覆蓋Expires屬性。
public - 允許保存在共享緩存中。
private - 只允許保存在私有緩存中。
no-cache - 不允許緩存。
no-store - 不允許緩存在持久介質中。
no-transform - 不允許轉換存儲系統。
返回列表
返回首頁
主站蜘蛛池模板:
国产aⅴ激情无码久久久无码
|
亚洲妇女水蜜桃av网网站|
一个人免费观看视频在线中文|
欧美日韩视频一区三区二区|
国产黄大片在线观|
久久婷婷五月综合成人D啪|
男人j进女人p一进一出视频|
国产成人精品久久一区二区三区|
а√天堂资源中文在线官网|
无限看片在线版免费视频大全|
亚洲电影唐人社一区二区|
贱妇汤如丽全篇小说|
在线播放免费人成毛片试看|
久久久久亚洲AV成人片|
毛片女人十八以上观看|
国产做受视频激情播放|
97久久精品无码一区二区|
日本xxxx色视频在线播放|
亚洲欧洲日产国码www|
美女被免费看视频网站|
国产精品久久久久久福利|
一级一片一a一片|
晓青老师的丝袜系列|
免费一级毛片女人图片|
高清男的插曲女的欢迎你老狼|
在车上狠狠的吸她的奶|
久久久综合香蕉尹人综合网|
欧美日韩国产一区二区三区欧
|
老子的大ji巴cao死你|
国产精品午夜福利在线观看地址|
三级演员苏畅简历及个人资料简介|
欧美一区2区三区4区公司贰佰|
免费看黄a级毛片|
鲁啊鲁在线视频免费播放|
国产精品va在线观看无|
a级日本理论片在线播放|
日韩一区二三区国产好的精华液|
亚洲精品午夜久久久伊人|
色偷偷的xxxx8888|
国产激情视频在线|
japanese21hdxxxx喷潮|