作者:CrazyThree | 来源:互联网 | 2023-09-03 12:41
先来给大家解释一下概念,浏览器缓存,英文为BrowserCaching,是浏览器端保存数据用于快速读取或避免重复资源请求的优化机智,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本
先来给大家解释一下概念,浏览器缓存,英文为Browser Caching,是浏览器端保存数据用于快速读取或避免重复资源请求的优化机智,有效的缓存使用可以避免重复的网络请求和浏览器快速地读取本地数据,整体上加速网页展示给用户清除浏览器缓存。
一、http缓存
协议的浏览器文件级缓存机制清除浏览器缓存。
以下是浏览器缓存的整个机制流程清除浏览器缓存。主要是针对重复的步:
1.判断expires清除浏览器缓存,如果未过期,直接读取请求,否则进入下一步
2.判断etag清除浏览器缓存,判断文件是否修改,如果修改,则带上if-none-match发送请求,返回200或304,否则进入下一步
3.判断last-modified,判断文件是否超过最大缓存时间,则带上if-modified-since发送请求,返回200或304,否则直接不带发送请求清除浏览器缓存。
如果通过etag和last-modified判断,即使返回304有至少有一次参数可以减少较多的浏览器请求。
二、COOKIE
COOKIE或COOKIEs,指一般网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密的数据)
清除浏览器缓存
。COOKIE一般通过记录主要由键、值、域、过期时间、大小组成,一般用户保存用户的认证信息。
不同域名之间的COOKIE信息是独立的,如果需要设置共享可以在服务器端设置COOKIE的path和domain来实现共享
清除浏览器缓存
。浏览器端也可以通过document.COOKIE来获取COOKIE,并通过js浏览器端也可以方便地读取/设置COOKIE的值。
COOKIE最大长度和域名个数由不同浏览器决定
清除浏览器缓存
,具体如下:
三、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 对象上触发事件来和调用程序进行通信。
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查询
清除浏览器缓存
。
文章载自: