2024年3月10日发(作者:)

关于IIS设置静态内容缓存时间,在这里给大家介绍一下:我们的网站中往往包含大量

的页面组件,比如图片、样式表文件、JS脚本文件和Flash动画。这些组件的变化频率非

常低,尤其是那些构成网站基本框架的组件,

几乎不会发生变化。我们可以将这些变化率很低的组件看作静态内容,利用IIS的内容

过期机制和浏览器的本地缓存机制将它们在访问者的电脑硬盘中保存一段时间。

当访问者访问你的网站时,如果这些存在本地的静态内容没有过期,浏览器会从本地

硬盘中装载,而不去向服务器发出请求。

如果你使用Fiddler这样的工具跟踪网页访问,你会清楚地看到虽然只是访问一个页

面,但是发出的Http请求和应答却不止一个。网页中的每张图片,每个JS脚本文件,每

个CSS文件,都会引发一次请求和应答。因此如果想让网页的访问速度快起来,减少Http

的请求数量,降低从服务器下载内容的次数是有效途径。

而使用了内容过期机制后可以就实现这样的目的,这就是使用内容过期机制的意义。

大多数的Web开发者都玩过IIS 6或IIS 7,但是又有多少人仔细观察过HTTP

Headers或HTTP Response Headers标签中的内容呢?此处我以IIS 6 为例,默认情况下

此标签中的界面如下图:

此时,如果向该网站的一个网页发出请求,该网页中包含了一张图片的链接,那么在

获取到该网页的HTML文档之后,浏览器会继续对这张图片发出请求,该请求的响应在

Http Response Header中如下表达:

HTTP/1.1 200 ok (表示服务器找到了此图片并正确响应)

Date:Thu, 04 Feb 2010 08:25:38 GMT (响应的时间,格林尼治时间)

Last-Modified:Wed, 03 Jan 2009 01:55:06 GMT(图片最后被修改的时间,格林尼治

时间)

这张图片会被浏览器保存在本地硬盘的IE临时文件夹中。使用同一个浏览器窗口在同