`
Rambing
  • 浏览: 31968 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

浏览器缓存

阅读更多
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负载测试 浏览器缓存设置

    在这个特定的场景下,我们关注的是“Loadrunner负载测试中的浏览器缓存设置”。了解如何在LoadRunner中正确设置浏览器缓存对于获取真实用户行为的数据至关重要,因为这直接影响到测试结果的准确性。 浏览器缓存是...

    HTTP+JS+浏览器缓存技术

    2. 使用 jQuery Ajax 清除浏览器缓存:可以使用 $.ajax() 方法并设置 cache:false,或者使用 If-Modified-Since 和 Cache-Control 请求头来清除浏览器缓存。 3. 使用随机数或随机时间来避免缓存:可以在 URL 参数后...

    Chrome浏览器缓存查看导出工具(支持最新版)

    Chrome浏览器缓存查看导出工具是一款专为用户设计的实用软件,它允许用户方便地查看、管理和导出Chrome浏览器中的缓存数据。这款工具对于开发者、网站管理员以及那些需要全面了解浏览器缓存工作原理的人来说非常有用...

    浏览器缓存目录设置

    ### 浏览器缓存目录设置 在日常的网络浏览过程中,浏览器缓存的作用非常重要,它不仅能够提高网页加载速度,还能有效减少硬盘碎片的产生,进而提升整体系统的运行效率。本文将详细介绍如何针对不同浏览器(如Fire...

    js浏览器缓存.doc

    ### JS浏览器缓存详解 #### 一、问题背景与概述 在进行Web开发的过程中,开发者可能会遇到一个较为隐蔽但十分常见的问题——浏览器缓存导致的重复请求失效现象。特别是使用某些JavaScript库(如Prototype.js)时,...

    jsp去除浏览器缓存

    ### jsp去除浏览器缓存详解 #### 一、引言 在Web开发中,为了提高用户体验及页面加载速度,浏览器通常会缓存一部分资源。但有时为了确保用户获取到最新的内容,我们需要禁止或控制浏览器对特定页面的缓存。本文将...

    浏览器缓存查看及恢复工具

    浏览器缓存是网络浏览的重要组成部分,它帮助用户快速加载先前访问过的网页,通过存储静态资源如图片、JavaScript和CSS文件,减少对服务器的请求。本文将深入探讨浏览器缓存的工作原理,以及如何使用“浏览器缓存...

    UC浏览器缓存加密视频Y2hlbmppbmdjb25n文件破解合并exe工具

    1、【合并视频.exe】可将UC浏览器缓存或下载的Y2hlbmppbmdjb25n加密或非加密视频文件合并成mp4视频的工具。 2、使用示例:https://img-blog.csdnimg.cn/0a29f18018c246ebbe70efb82f72c288.png 该示例图可以复制链接...

    Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R)

    Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R) Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R) Microsoft edge 浏览器缓存改成内存虚拟盘(盘符R)

    浏览器缓存读取工具

    浏览器缓存是网络浏览的重要组成部分,它用于存储网页的静态资源,如图片、JavaScript文件、CSS样式表等,以便在用户再次访问同一页面时能够快速加载,提高网页的响应速度和用户体验。`ChromeCacheView`是一款实用的...

    清除Flash缓存和各种浏览器缓存的方法.docx

    清除Flash缓存和各种浏览器缓存的方法 清除Flash缓存和各种浏览器缓存的方法是计算机用户常用的技术技能,以解决浏览器缓存引发的问题,如卡机、进不去、游戏滞后等问题。下面将详细介绍清除Flash缓存和各种浏览器...

    UC浏览器缓存加密视频文件破解合并工具(java工程).rar

    2、工具用于破解UC浏览器缓存或下载的Y2hlbmppbmdjb25n文件破解加密文件; 3、若文件没有加密,可使用简单快捷视频合并工具:https://download.csdn.net/download/gongjin28_csdn/25512908 4、判断文件是否是加密...

    三星T231如何清除浏览器缓存-T231清除浏览器缓存教程.docx

    ### 三星T231清除浏览器缓存教程 #### 一、引言 随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分。在众多智能手机品牌中,三星凭借其出色的性能和丰富的功能深受用户喜爱。对于三星T...

    UC浏览器缓存视频文件合并工具

    1、若是UC浏览器的视频文件:Y2hlbmppbmdjb25n0 Y2hlbmppbmdjb25n1 Y2hlbmppbmdjb25n2......用此工具类(合并无加密)。 2、若是0.ts、1.ts、2.ts类型视频合并到此:...

    浏览器缓存机制面试常考.zip

    浏览器缓存【2024年浏览器缓存简介】 内容概要: 这篇博客为网络技术初学者提供了一个全面的理解浏览器缓存的知识。通过通俗易懂的语言,本博客介绍了浏览器缓存的工作原理,HTTP缓存控制字段,缓存策略的应用,以及...

    浏览器缓存相关知识.zip

    浏览器缓存 浏览器缓存主要可以分为两大类:客户端缓存和服务端缓存。客户端缓存,即浏览器缓存,是本文主要讨论的内容。而服务端缓存则主要包括代理服务器缓存和反向代理服务器缓存,以及广泛使用的CDN等。这些...

    如何删除浏览器缓存.docx

    删除浏览器缓存的方法和 importance 浏览器缓存是一种临时存储在电脑里的网页内容和信息,以便提高访问网页的速度。但是,缓存也可能会导致网页不能及时更新和加载最新的数据。因此,定期清理浏览器缓存是非常必要...

    浏览器缓存视频文件

    浏览器缓存是互联网浏览过程中一个重要的机制,它允许用户在不重复下载相同数据的情况下快速访问网页,特别是视频内容。当你在线观看视频时,浏览器会自动将视频文件的一部分或全部存储在本地硬盘上,以便下次访问时...

Global site tag (gtag.js) - Google Analytics