1.1 浏览器的缓存应用
1.1.1 概述
游览器缓存可以有效的解决同一客户端用户的多次访问的快速响应问题。一个客户可能多次访问同一个页面,使用了浏览器缓存,直接可以从客户的本地获取缓存的数据,从而可以有效减少用户的访问次数,从而减轻服务器的负担。最常用的是对于图片,JS,CSS, HTML等静态资源实现浏览器级别的缓存。
1.1.2 浏览器缓存的结构
浏览器的缓存是基于HTTP请求包。一个HTTP的响应包中包含如下的头信息。该响应头中列出了缓存相关的几个重要的几个字段。
HTTP/1.x 200 OK
Server: Microsoft-IIS/7.5
Last-Modified: Thu, 31 Dec 2009 09:29:09 GMT
Etag: "e46de5b4fb89ca1:0"
Expires: Thu, 07 Jan 2010 00:00:00 GMT
Cache-Control: max-age=10
其中Last-Modified, Etag和Expires,Cache-Control是和浏览器的缓存和缓存处理密切相关的四个字段。前两个字段是条件缓存控制参数,浏览器会根据这两个字段的值向服务器发送一个请求,询问所需的资源是否已经更改,如果没有更改直接使用本地文件,否则重新从服务器下载。主要可以减少服务器的流量,但是不会减少请求数。后两个这是缓存时间设定参数,只有设定了过期参数的页面,浏览器会先查看是否过期,如果没有过期直接使用本地缓存,不再向服务器请求。如果已经过期才向服务器发送请求。
Last-Modified:指定被请求资源上次被修改的日期和时间。例如:Last-Modified: Mon,10PR 18:42:51 GMT
Etag:一种实体头标,它向被发送的资源分派一个唯一的标识符。
Expires:指定实体的有效期。例如:Expires: Mon,05 Dec 2008 12:00:00 GMT
Cache-Control:一个用于定义缓存指令的通用头标。例如:Cache-Control: max-age=30。
1.1.3 浏览器的缓存请求过程
当浏览器第一次请求某个URL时,顺利访问的话,服务器返回状态200的状态, 同时会返回给浏览器一些Headers集合,如果设定只是设定了Last-Modified和Etag头信息,那么浏览器接收到服务器这些信息后,就会将资源缓存在本地目录中,同时保存文件的上述信息. 第二次请求时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 与 If-None-Match 报头这两个报头实际上是第一次请求时服务器返回的Last-Modified,Etag.发送这两个报头目地是询问服务器,该资源在时间内有没有被修改过。如 果该资源未被修改,则服务器会直接返回HTTP 304 (Not Changed.)状态码,内容为空,此时不会下载资源,浏览器则自动从缓存目录中读取资源。使用Last-Modified和Etag 可以减少传输成本,但不会减少http请求数量。如果给文件加上关于过期时间(Expires)的header报文,这样浏览器就会先检查缓存中的文件,如果没有过期,就直接使用缓存中的文件,从而不会 发送http请求。
1.1.4 浏览器的不同请求方式
浏览器请求包括普通页面请求(链接点击跳转,用JS脚本打开新页面,使用IFRAME时)。F5刷新时和Ctrl+F5三种方式。在1.1.3中描述的是对于普通页面请求的情况。F5刷新忽略缓存的过期设定,每次发送请求到服务器端。而CTRL + F5则是与无缓存时效果一样处理,强制重新下载。
1.1.5 设定浏览器缓存
当前常用的应用服务器,都可以对于一般的纯静态页面,如HTML、GIF、JPG、CSS、JS等页面进行缓存头信息的设定。例如Apache服务器会对自动读取静态文件中的Last-Modified字段添加到HEADER中,并且会对所有的页面(包括动态页面)加上ETag信息到HEADER。也可以使用FILTER动态的对于需要的页面加入这些缓存HEADER的添加,增加浏览器的缓存的使用。
分享到:
相关推荐
浏览器缓存机制介绍与缓存策略剖析.pptx
Loadrunner负载测试 浏览器缓存设置
js浏览器缓存.docjs浏览器缓存.docjs浏览器缓存.docjs浏览器缓存.doc
Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R) Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R) Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R)
jsp去除浏览器缓存
总结了浏览器缓存的原理,如何管理浏览器缓存
1、【合并视频.exe】可将UC浏览器缓存或下载的Y2hlbmppbmdjb25n加密或非加密视频文件合并成mp4视频的工具。 2、使用示例:https://img-blog.csdnimg.cn/0a29f18018c246ebbe70efb82f72c288.png 该示例图可以复制链接...
浏览器缓存目录设置,配合沙盘使用,不但会提升上网速度,而且还能减少磁盘碎片
浏览器缓存例子浏览器缓存例子浏览器缓存例子浏览器缓存例子浏览器缓存例子
2、工具用于破解UC浏览器缓存或下载的Y2hlbmppbmdjb25n文件破解加密文件; 3、若文件没有加密,可使用简单快捷视频合并工具:https://download.csdn.net/download/gongjin28_csdn/25512908 4、判断文件是否是加密...
ChromeCacheView浏览器缓存读取工具 v1.56 汉化
这个软件可以将你在用浏览器观看视频时所缓存的视频文件在缓存文件夹里面提取出来,对于一些不会下载视频或者说不想安装各种客户端、不想注册各种网站的人来说,此程序绝对是一把利器! ps:压缩包里的主程序可以...
浏览器缓存查看及恢复小工具。这是国外的软件
ChromeCacheView是一款读取Chrome浏览器缓存目录的小工具,无须安装,解压即可使用。它可以显示缓存文件的网址、类型、大小及其他信息
1、若是UC浏览器的视频文件:Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 Y2hlbmppbmdjb25n2......用此工具类(合并无加密)。 2、若是0.ts、1.ts、2.ts类型视频合并到此:...
浏览器缓存【2024年浏览器缓存简介】 内容概要: 这篇博客为网络技术初学者提供了一个全面的理解浏览器缓存的知识。通过通俗易懂的语言,本博客介绍了浏览器缓存的工作原理,HTTP缓存控制字段,缓存策略的应用,以及...
浏览器缓存 浏览器缓存主要可以分为两大类:客户端缓存和服务端缓存。客户端缓存,即浏览器缓存,是本文主要讨论的内容。而服务端缓存则主要包括代理服务器缓存和反向代理服务器缓存,以及广泛使用的CDN等。这些...
Chrome浏览器缓存查看导出工具,可以将图片、css、js导出到对应的目录,自动创建和服务器上一样的目录,很强大很简单的小工具,支持最新版的Chrome。
为了提高网页的访问效率,浏览器可以在本地缓存以前...不是所有的浏览器都能完全支持上面的三个响应头,因此最好是同时使用上面的三个响应头,只要浏览器能支持其中任何一种形式,就能可靠地禁止浏览器缓存当前页面。
三星T231如何清除浏览器缓存-T231清除浏览器缓存教程.docx