IE缓存机制浅析

转载:http://blog.yikuyiku.com/?p=1035

目录

一、IE缓存机制大体说明

二、IE如何根据HTTP响应头来存储缓存

三、IE接受用户操作时如何使用缓存

四、有可能的后续实验,以及本次实验的局限性

五、测试工具、方法及其它附录



一、IE缓存机制大体说明

IE的缓存是以URL为标识的文件形式存储。实现步骤分为存储和使用(验证)。

A>存储(标记)缓存
接收HTTP响应头====>存储并且标记缓存文件

B>使用(验证)缓存
接受用户操作====>判断并且使用缓存文件
下面两节将分别讲述这两个方面的实测结果。


二、IE如何根据HTTP相应头来存储(标记)缓存

(包含且不仅包含)以下HTTP响应头将可能影响到IE如何存储(标记)缓存:Age、Cache-Control、Date、ETag、Expires、Last-Modified、Vary。

本次实验仅测试Cache-Control、Expires、Last-Modified头对IE缓存的影响。


A>IE如何标记缓存

IE接收文件统一存放他们在一个目录下,并且给每个文件打下以下标记:

1、Internet地址

2、截止期限

3、上次修改时间


B>HTTP头对标记缓存的影响

1、当没有配置Cache-Control、Expires时:
IE将存储此文件,其截止期限为空

2、配置Cache-Control:no-cache时:
IE将不会存储此文件

3、配置Cache-Control:no-store|no-transform|must-revalidate时:
IE将视同没有配置Cache-Control

4、配置Cache-Control:max-age时
IE将存储此文件,其截止期限为Date头的值加上max-age的秒数

5、配置Expires时:
IE将存储此文件,其截止期限为Expires的值

6、同时配置Expires和Cache-Control:max-age时:
IE将存储此文件,其截止期限为Date头的值加上max-age的秒数(也就是说max-age将覆盖Expires,IE这样的处理是遵循HTTP1.1协议的)

7、配置Last-Modified时:
IE将存储此文件,其上次修改时间为Last-Modified的值



三、IE接受用户操作时如何使用(验证)缓存


A>IE对缓存的三个标记分别有以下用途:

1、Internet地址 —— 资源是否被缓存;

2、截止期限 —— 资源是否过期(是否重新向服务器请求的关键);

3、上次修改时间 —— 如果有这个值,向服务器请求时将加上If-Modified-Since,并且用此值填充。


B>实验得知,IE将用户操作分为以下几类:

1、前进后退

此时IE将无条件使用缓存中的文件,忽略截止期限的值。

2、从收藏夹访问、输入一个不同的地址

此时IE将使用截止期限的值来判断此缓存是否过期,如果过期则再次向服务器发器请求,反之则使用本地缓存

3、刷新

此时IE将向服务器发送一个请求

4、Ctrl 刷新

此时IE将向服务器发送一个请求,并且此请求中包括Cache-Control:no-cache;Pragmma:no-cache


四、有可能的后续实验,以及本次实验的局限性

1、测试更多头的影响,如Etag、Vary等

2、测试更广泛浏览器对协议的遵循使用情况

3、测试代理服务器软件对协议的遵循使用情况


五、测试工具、方法及其它附录

本次实验使用IE6 SP3、HTTPWatch Pro 6.0 IE插件、PHP5的Header函数、以及Excel记录测试画面。

更多方法、说明以及测试证据截图详见附件。(博客版欠奉..)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值