《ie缓存总结范文》由会员分享,可在线阅读,更多相关《ie缓存总结范文(13页珍藏版)》请在金锄头文库上搜索。
1、ie缓存总结范文 浏览器缓存实现原理缓存工作原理为了提高访问网页的速率,Inter Explorer浏览器会采用累积式加速的方法,将曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。 这个存放空间,就称它为IE缓存。 以后每次访问网站时,IE会首先搜索这个目录,其中已经有访问过的内容,那IE就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速率。 具体的工作原理是,在浏览网页时,浏览器会把从网上读出的网页、图像以及其他数据存放在磁盘缓存之中,并建立相应的文档索引。 按照信息存放的位置可分成内存缓存和硬盘缓存两种。 内存缓存是用于暂时存储本次上网所调用的数据资料的,从I
2、nter上传来的每一个网页信息,在内存缓存中都相应地给予保存一个备份,“前进”和“后退”是从内存缓存中读取数据。 硬盘缓存则保存用户前几次上网时所调用的信息资料。 设置IE缓存大小要提高IE的访问速率,IE缓存是必不可少的。 IE缓存默认安装在系统区,而且会需要占用较大的系统空间。 所以系统空间的确很紧张,可以将缓存占用的空间设得小一点,在IE的“工具”菜单下选择“Inter选项”,然后在“常规”选项卡中会看到有“Inter临时文件”这一项,单击“设置”按钮,然后在弹出的“设置”对话框中将缓存大小设置为一个合适的值。 也可以直接将IE缓存移动到其它位置上去。 “Inter临时文件”下单击“设置
3、”,然后在“设置”对话框中单击“移动文件夹”按钮,在“浏览文件夹”中选择文件夹,将IE缓存移动到其他地方,这样就不必担心IE缓存太大,占用更多空间了。 静态缓存与动态缓存静态页面的缓存可能有2种形式其实主要区别就是CMS是否自己负责关联内容的缓存更新管理。 1、静态缓存是在新内容发布的同时就立刻生成相应内容的静态页面,比如xx年3月22日,管理员通过后台内容管理界面录入一篇文章后,并同步更新相关索引页上的链接。 2、动态缓存是在新内容发布以后,并不预先生成相应的静态页面,直到对相应内容发出请求时,如果前台缓存服务器找不到相应缓存,就向后台内容管理服务器发出请求,后台系统会生成相应内容的静态页面
4、,用户第一次访问页面时可能会慢一点,但是以后就是直接访问缓存了。 静态缓存的缺点复杂的触发更新机制这两种机制在内容管理系统比较简单的时候都是非常适用的。 但对于一个关系比较复杂的网站来说,页面之间的逻辑引用关系就成为一个非常非常复杂的问题。 最典型的例子就是一条新闻要同时出现在新闻首页和相关的3个新闻专题中,在静态缓存模式中,每发一篇新文章,除了这篇新闻内容本身的页面外,还需要系统通过触发器生成多个新的相关静态页面,这些相关逻辑的触发也往往就会成为内容管理系统中最复杂的部分之一。 旧内容的批量更新通过静态缓存发布的内容,对于以前生成的静态页面的内容很难修改,这样用户访问旧页面时,新的模板根本无
5、法生效。 在动态缓存模式中,每个动态页面只需要关心,而相关的其他页面能自动更新,从而大大减少了设计相关页面更新触发器的需要。 缓存实现原理浏览器缓存将文件保存在客户端,好的缓存策略可以减少对网络带宽的占用,可以提高访问速度,提高用户的体验,还可以减轻服务器的负担。 因此我们有必要了解它的实现原理,用来提高网站的性能。 当一个客户端请求web服务器,请求的内容可以从以下几个地方获取服务器、浏览器缓存中或缓存服务器中。 这取决于服务器端输出的页面信息。 页面文件有三种缓存状态。 1、最新的选择不缓存页面,每次请求时都从服务器获取最新的内容。 2、未过期的在给定的时间内缓存,如果用户刷新或页面过期则
6、去服务器请求,否则将读取本地的缓存,这样可以提高浏览速度。 3、过期的也就是陈旧的页面,当请求这个页面时,必须进行重新获取。 页面缓存设置页面的缓存状态是由 header决定的,一个浏览器请求信息,一个是服务器响应信息。 主要包括Pragma:no-cache、Cache-Control、Expires、Last-Modified、If-Modified-Since。 其中Pragma:no-cache由/1.0规定,Cache-Control由/1.1规定。 Cache-Control的主要参数?Cache-Control:private/public Public响应会被缓存,并且在多用户
7、间共享。 Private响应只能够作为私有的缓存,不能再用户间共享。 ?Cache-Control:no-cache不进行缓存?Cache-Control:max-age=x缓存时间以秒为单位?Cache-Control:must-revalidate如果页面是过期的则去服务器进行获取。 ?Expires显示的设置页面过期时间?Last-Modified请求对象最后一次的修改时间用来判断缓存是否过期通常由文件的时间信息产生?If-Modified-Since客户端发送请求附带的信息指浏览器缓存请求对象的最后修改日期用来和服务器端的Last-Modified做比较如IE的设置里面有四种方式(如图
8、)的每次访问页面检查,用户使用重新加载或超过了过期日期,浏览器就会认为这个页面是陈旧的(它将发送附加一个If-Modified-Since的信息.如果页面没有改变,服务器端响应一个304状态Not Modified,而不发送整个页面,这样就会很快,但服务器必须要生成有效的Last-Modified headers且服务器时间必须是有效的。 缓存设定举例一个不进行缓存的服务器端响应/1.0200OK Content-Type:text/html Content-Length:19662Pragma:no-cache Cache-Control:no-cache Server:Roxen/2.1.
9、185Aept-Ranges:bytes Expires:Wed,03Janxx00:18:55GMT有时候仅仅设置Pragma:no-cache Cache-Control:no-cache还是不保险,需要将过期时间设置成过去的时间就确保了对象不被缓存。 一个允许缓存的服务器端响应/1.1200OK Date:Tue,13Febxx14:50:31GMT Server:Apache/1.3.12Cache-Control:max-age=43200Expires:Wed,14Febxx02:50:31GMT Last-Modified:Sun,03Dec200023:52:56GMT ETa
10、g:1cbf3-dfd-3a2adcd8Aept-Ranges:bytes Content-Length:3581Connection:close Content-Type:text/html Cache-Control:max-age=43200表示缓存12个小时浏览器缓存的具体例子第一次请求文件Request GET/file.html /1.1Aept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/vnd.ms-powerpoint,application/vnd.ms-excel,application/msw
11、ord,application/x-et,*/*Aept-Language:en-us Aept-Encoding:gzip,deflate User-Agent:Mozilla/4.0(patible;MSIE5.5;Windows NT5.0)Host:24.5.203.101Connection:Keep-Alive Response/1.1200OK Date:Tue,13Febxx20:00:22GMT Server:Apache Cache-Control:max-age=604800Last-Modified:Wed,29Nov200015:28:38GMT ETag:1df-2
12、8f1-3a2520a6Aept-Ranges:bytes Content-Length:10481Keep-Alive:timeout=5,max=100Connection:Keep-Alive Content-Type:text/html这里返回了Last-Modified和ETag,这两个信息就是用来以后比较当前浏览器缓存的文件是否和服务器端文件一致,如果不一直就获取最新,一直则读取本地缓存。 第二次请求Request GET/file.html /1.1Aept:*/*Aept-Language:en-us Aept-Encoding:gzip,deflate If-Modified
13、-Since:Wed,29Nov200015:28:38GMT If-None-Match:1df-28f1-3a2520a6User-Agent:Mozilla/4.0(patible;MSIE5.5;Windows NT5.0)Host:24.5.203.101Connection:Keep-Alive Response/1.1304Not ModifiedDate:Tue,13Febxx20:01:07GMT Server:Apache Connection:Keep-Alive Keep-Alive:timeout=5,max=100ETag:1df-28f1-3a2520a6Cach
14、e-Control:max-age=604800请求中的If-None-Match信息就是第一次响应的ETag,用来验证和当前响应的ETag是否一致。 服务器返回Not Modified,浏览器就读取本地缓存。 我们还可以使用专门缓存服务器来改善性能。 他的原理和浏览器的缓存原理一样,所有的浏览器请求将由缓存服务器响应,缓存服务器可以用自己的缓存文件或获取新的文件来响应用户的请求。 因此有了缓存服务器的,将大大提高网站的性能。 参考文章.webperformance/caching/caching_for_performance.html Createdby jecray网络缓存及其作用访问网
15、站的过程是通过建立在TCP/IP协议之上的协议来完成的。 从客户端发出一个请求开始,用户所经历的等待时间主要决定于DNS和网站的响应时间。 网站域名首先必须被DNS服务器解析为IP地址,的延时则由在客户端和服务器间的若干个往返时间所决定。 往返时间是指客户端等待每次请求的响应时间,平均往返时间取决于三个方面1.网站服务器的延时网站服务器造成的延时在往返时间中占主要比例。 当某个服务器收到多个并发请求时,会产生排队延时。 由于响应一个请求,往往需要多次访问本地硬盘,所以即使是一台负载并不大的服务器,也可能产生几十或几百微秒的延时。 2.由路由器、网关、代理服务器和防火墙引入的延时通常在客户端和服务器之间的路径上会存在多个网络设备,如路由器、网关、代理和防火墙等。 它们对经过的IP包都要做存储/转发的操作,于是会引入排队延时和处理延时。 在网络拥塞时,这些设备甚至会丢包,此时会寄希望于客户端和服务器通过端到端的协议来恢复通信。 3.不同通信链路上的数据传输速率在广域网中,从一个网络设备到另一个网络设备间的数据传输速率是决定往返时间的一个重要因素。 但基本带宽的作用并不是像人们想象的那么重要,一项测试表明,当网站采用T3速率接入Inter时