`
xiemingmei
  • 浏览: 210615 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

浏览器缓存简单机制

阅读更多
以下内容貌似简单,但有些朋友不一定都理解清晰了。

浏览器缓存存在本地,IE的如:C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files文件夹下。浏览器取缓存内容的类型:
(1)本地缓存:直接从本地去页面缓存;
如果缓存的页面有expires(绝对时刻)或Cache-Control:max-age(时长),则在有效时间内,则取本地页面,不会给浏览器发请求。
(2)协商缓存:与web服务器协商,判断是否取浏览器缓存。
如果没有expires或max-age,则浏览器会发请求到服务器,附上If-Modified-Since报文头,web服务器则会判断页面是否在这个时间后有更新过,如没有则返回一个304状态,浏览器取本地缓存的内容;否则,服务器将返回200状态,并返回该资源和Last-Modified。


在浏览器(如IE)中有几种操作,如下:
(1)强制刷新:Ctrl + F5
浏览器将绕过本地缓存、协商缓存,让服务器重新发送请求的资源。
(2)刷新:F5
浏览器将绕过本地缓存,将使用协商缓存来请求资源。
(3)转向或回车:
浏览器将使用本地缓存、协商缓存。

ETag:
Last-Modified与If-Modified-Since是一对报文头,属于http 1.0。
ETag与If-None-Match是一对报文,属于http 1.1。
他们要实现的都是协商缓存,但Last-Modified和If-Modified-Since只判断资源的最后修改时间,而ETags和If-None-Match可以是资源任何的任何属性。

ETag机制类似于乐观锁机制,如果请求报文的ETag与服务器的不一致,则表示该资源已经被修改过来,需要发最新的内容给浏览器。

同时使用这两个报文头,在完全匹配If-Modified-Since和If-None-Match即检查完修改时间和Etag之后,如都与服务器的相符,服务器返回304,否则,发送最新内容给浏览器。










分享到:
评论

相关推荐

    jsp去除浏览器缓存

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

    彻底理解浏览器的缓存机制.docx

    通过对浏览器缓存机制的深入理解,我们可以看到它不仅提升了用户体验,还极大地减轻了服务器的压力。在实际应用中,开发者可以通过合理设置缓存相关的HTTP头字段来优化网站性能,比如使用`Cache-Control`来指定更...

    清除浏览器缓存

    在现代互联网应用中,浏览器缓存机制被广泛采用以提升用户体验和减少网络流量消耗。然而,在某些情况下(如开发测试阶段或网站更新后),我们需要清除浏览器缓存来确保用户能够看到最新的网页内容。本文将详细介绍...

    禁止浏览器缓存当前文档内容

    在网页开发中,浏览器缓存机制是为了优化加载速度,但是有时会导致问题,比如服务器端更新的内容无法及时反映到客户端。为了防止这种情况,可以通过设置HTTP响应头来禁止浏览器缓存当前页面。以下是三种常用的响应头...

    chrome浏览器缓存提取工具

    Chrome浏览器缓存提取工具是一种专门用于从Google Chrome浏览器的本地存储缓存中检索和提取数据的实用程序。在日常互联网浏览中,Chrome会自动下载并存储网页的各种元素,如图片、视频、JavaScript文件等,以便在...

    VideoCacheView 浏览器缓存文件抽取

    总之,VideoCacheView是一个强大的工具,它使得从浏览器缓存中提取多媒体文件变得简单易行,无论对于普通用户还是IT专业人士,都是一个实用的辅助软件。通过理解和掌握如何使用VideoCacheView,你可以更有效地管理和...

    chrome浏览器缓存提取软件

    Chrome浏览器缓存提取软件,如`Chromecacheview`,是专门用于挖掘和分析Google Chrome浏览器中的缓存数据的工具。它可以帮助用户查看、导出和管理浏览器在浏览网页时存储的各种临时文件,包括图片、JavaScript、CSS...

    清除Jquery缓存

    为了避免由于浏览器缓存导致的开发过程中出现的问题,开发人员需要确保每次修改文件后都能立即看到效果。此时就需要使用方法来清除浏览器的缓存。 ### 使用`jQuery.ajaxSetup({cache:false})`清除缓存 #### 代码...

    chrome缓存资源导出工具

    浏览器缓存是一种存储机制,当用户访问网页时,浏览器会将部分网页元素(如HTML、CSS、JavaScript文件以及图片、音频等媒体资源)保存在本地,以便下次访问同一页面时能快速加载,提高网页加载速度。Chrome作为一款...

    Chrome浏览器缓存目录的小工具

    ChromeCacheView是一款专为查看和分析Chrome浏览器缓存设计的实用小工具,尤其对于开发者和网络优化人员来说,这款工具极具价值。 首先,我们要了解浏览器缓存的基本概念。浏览器缓存是为了减少网络传输,加快页面...

    chrome浏览器禁止缓存

    在IT开发过程中,浏览器缓存是一项重要的功能,它能够提高网页加载速度,为用户提供更流畅的浏览体验。然而,对于开发者来说,缓存有时会带来麻烦,特别是在进行迭代开发、测试新功能或修复bug时,浏览器缓存可能...

    JSP实现屏蔽浏览器缓存的方法

    在Web开发过程中,尤其是在动态页面生成的场景下,为了确保用户获取到的数据总是最新,避免浏览器缓存导致的数据不一致问题,需要在页面中实现对浏览器缓存的屏蔽。本文主要介绍在JSP(Java Server Pages)中屏蔽...

    html5前端浏览器离线缓存

    离线缓存基于`Application Cache`机制,通过`manifest`文件来定义需要缓存的资源列表。manifest文件是一个简单的文本文件,它包含了要被离线存储的所有文件路径。例如: ```html CACHE MANIFEST index.html style....

    易语言完美清除IE缓存和Cookies等

    在IT领域,清理浏览器的缓存和Cookies是常见的维护个人隐私和提高系统性能的手段。易语言是一款中国本土开发的编程语言,它以其简洁的语法和面向初学者的设计,使得编写这类清除工具变得相对简单。在这个场景下,...

    网站缓存机制的例子

    2. **HTTP缓存机制**:浏览器缓存主要依赖HTTP协议中的Cache-Control、ETag、Last-Modified等头部信息来管理。例如,`Cache-Control: max-age=3600`表示资源在1小时内有效;`ETag`和`Last-Modified`则用于校验资源...

    chrome缓存清除扩展程序,通过js清除chrome缓存的api演示

    Chrome浏览器作为一个广泛使用的网络浏览工具,其缓存机制在日常使用中起着至关重要的作用。缓存能够存储网页的静态资源,如图片、CSS样式表和JavaScript文件,以提高页面加载速度,提升用户体验。然而,有时为了...

    缓存_缓存_

    在Web开发中,HTTP缓存是常见的应用,通过设置HTTP头信息(如Cache-Control、ETag等),服务器可以指示浏览器缓存特定的响应,减少不必要的网络传输,提高页面加载速度。数据库缓存,如MySQL的InnoDB Buffer Pool,...

    js、css、img等浏览器缓存问题的2种解决方案

    在互联网应用中,浏览器缓存是一个提高性能的重要机制。通过缓存机制,浏览器能够存储用户访问过的资源,从而在用户再次访问相同资源时,无需再次从服务器加载,直接从本地加载,大大减少了加载时间,提升了用户体验...

Global site tag (gtag.js) - Google Analytics