热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浏览器缓存机制你知道多少?(转载)

先来给大家解释一下概念,浏览器缓存,英文为BrowserCaching,是浏览器端保存数据用于快速读取或避免重复资源请求的优化机智,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本

  先来给大家解释一下概念,浏览器缓存,英文为Browser Caching,是浏览器端保存数据用于快速读取或避免重复资源请求的优化机智,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户清除浏览器缓存

  一、http缓存

  协议的浏览器文件级缓存机制清除浏览器缓存

  以下是浏览器缓存的整个机制流程清除浏览器缓存。主要是针对重复的步:

  1.判断expires清除浏览器缓存,如果未过期,直接读取请求,否则进入下一步

  2.判断etag清除浏览器缓存,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步

  3.判断last-modified,判断文件是否超过最大缓存时间,则带上if-modified-since发送请求,返回200或304,否则直接不带发送请求清除浏览器缓存

浏览器缓存机制你知道多少<strong></p><p>清除浏览器缓存</strong>?(转载)

  如果通过etag和last-modified判断,即使返回304有至少有一次参数可以减少较多的浏览器请求。
  二、COOKIE

  COOKIE或COOKIEs,指一般网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密的数据)

清除浏览器缓存

。COOKIE一般通过记录主要由键、值、域、过期时间、大小组成,一般用户保存用户的认证信息。
  不同域名之间的COOKIE信息是独立的,如果需要设置共享可以在服务器端设置COOKIE的path和domain来实现共享

清除浏览器缓存

。浏览器端也可以通过document.COOKIE来获取COOKIE,并通过js浏览器端也可以方便地读取/设置COOKIE的值。
  COOKIE最大长度和域名个数由不同浏览器决定

清除浏览器缓存

,具体如下:

浏览器缓存机制你知道多少<strong>清除浏览器缓存</p>?(转载)

  三、application cache

  application cahce是将大部分图片资源、js、css等静态资源放在manifest文件配置中

清除浏览器缓存

。当页面打开时通过manifest文件来读取本地文件或是请求服务器文件。   离线访问对基于网络的应用而言越来越重要。虽然所有浏览器都有缓存机制,但它们并不可靠,也不一定总能起到预期的作用。HTML5 使用ApplicationCache 接口可以解决由离线带来的部分难题。前提是你需要访问的web页面至少被在线访问过一次。   使用缓存接口可为您的应用带
  来以下三个优势:

  1.离线浏览 – 用户可在离线时浏览您的完整网站

  2.速度 – 缓存资源为本地资源,因此加载速度较快

清除浏览器缓存


  3.服务器负载更少 – 浏览器只会从发生了更改的服务器下载资源

清除浏览器缓存


  四、indexDB

  IndexedDB 是一个为了能够在客户端存储可观数量的结构化数据,并且在这些数据上使用索引进行高性能检索的 API

清除浏览器缓存

。虽然 DOM 存储 对于存储少量数据是非常有用的,但是它对大量结构化数据的存储就显得力不从心了。IndexedDB 则提供了这样的一个解决方案。  
  IndexedDB 分别为同步和异步访问提供了单独的 API

清除浏览器缓存

。同步 API 本来是要用于仅供 Web Workers 内部使用,但是还没有被任何浏览器所实现。异步 API 在 Web Workers 内部和外部都可以使用,另外浏览器可能对indexDB有50M大小的限制,一般用户保存大量用户数据并要求数据之间有搜索需要的场景。
  1.异步API

  异步 API 方法调用完后会立即返回,而不会阻塞调用线程

清除浏览器缓存

。要异步访问数据库,要调用 window 对象 indexedDB 属性的 open() 方法。该方法返回一个 IDBRequest 对象 (IDBOpenDBRequest);异步操作通过在 IDBRequest 对象上触发事件来和调用程序进行通信。

浏览器缓存机制你知道多少<strong>清除浏览器缓存</p>?(转载)

  2.同步API

  规范里面还定义了 API 的同步版本

清除浏览器缓存

。同步 API 还没有在任何浏览器中得以实现。
  五、websql

  websql这种方式只有较新的chrome浏览器支持

清除浏览器缓存

,并以一个独立规范形式出现,主要有以下特点:
  1.Web Sql 数据库API 实际上不是HTML5规范的组成部分;

  2、在HTML5之前就已经存在了

清除浏览器缓存

,是单独的规范;
  3.它是将数据以数据库的形式存储在客户端

清除浏览器缓存

,根据需求去读取;
  4.跟Storage的区别是: Storage和COOKIE都是以键值对的形式存在的;

  5.Web Sql 更方便于检索

清除浏览器缓存

,允许sql语句查询;
  6.让浏览器实现小型数据库存储功能;

  7.这个数据库是集成在浏览器里面的

清除浏览器缓存

,目前主流浏览器基本都已支持;
  websql API主要包含三个核心方法:

  1、openDatabase : 这个方法使用现有数据库或创建新数据库创建数据库对象

清除浏览器缓存


  2、transaction : 这个方法允许我们根据情况控制事务提交或回滚

清除浏览器缓存


  3、executeSql : 这个方法用于执行真实的SQL查询

清除浏览器缓存


  文章载自:


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • Sanic 是一个类似于 Flask 的 Python 3.5 Web 服务器,以其出色的写入速度而著称。与 Flask 不同,Sanic 支持异步请求处理,这使得它在处理高并发请求时表现更加出色。通过利用 Python 的异步特性,Sanic 能够显著提高应用程序的性能和响应能力,适用于构建高性能的异步 Web 应用。 ... [详细]
author-avatar
CrazyThree
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有