Technorati Profile

Creative Commons LicenseThis work is licensed under a Creative Commons License.

星期三, 十二月 06, 2006

 

深入理解 ASP.NET 与客户端缓存 (Part 1 - HTTP 协议)

前言

这个系列的文章要讨论的是如何通过ASP.NET服务器端技术来优化客户端缓存策略,而且让这种策略变得可配置和可扩展。我们要了解的知识从HTTP协议中相关属性对客户端缓存的影响,到ASP.NET如何控制这些属性来实现我们的缓存策略。

HTTP基础知识

由于讨论涉及到客户端缓存,所以还是先要简单介绍一下HTTP协议是如何控制客户端缓存的,这里涉及到HTTP头的Last-Modified、ETag等属性。

Last-Modified

ETag

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

这是一个集合型属性,它里面能够包含很多子属性,并且允许用户扩展新的子属性。常见的子属性包括:

实际应用

了解这些HTTP属性,是为了让我们在ASP.NET中实际应用它们,这将在本系列文章的下一篇中讨论,如果你不想错过其中的精彩内容,请订阅Cat in dotNET


评论:
COOL~
很迟才发现BLOGSPOT解封了~
迟点做一系列的BLOGGER BLOG.
你的技术水平已经很高深了~呵呵
ePIK
 
发表评论

返回主页

This page is powered by Blogger. Isn't yours? Valid XHTML 1.0 Transitional