科百科
当前位置: 首页 范文大全

怎样清浏览器的缓存(说说浏览器有哪些缓存)

时间:2023-05-25 作者: 小编 阅读量: 2 栏目名: 范文大全

indexDB设计的操作完全是异步进行的。indexDB最大的特色是使用对象保存数据。cookies的基本思想就是让浏览器积累一组服务器特有的信息,并在客户端和服务器端来回传递。Cookies一般存在用户本地终端上,通常经过加密处理。Cookies一般通过http请求中的头部一起发送到服务器端。一条cookie记录主要由键、值、域、过期时间、大小组成。这两个都是windows对象的属性。不同的浏览器无法共享localStorage或sessionStorage中的信息。

一. 什么是缓存

web缓存是一个设备,这个设备可以自动保存常用的文档的副本。在客户端发起请求的时候,如果就近的缓存拥有客户端想要的副本,那么就会加快网站的响应速度。

在出现带宽不足、瞬间拥塞(很多用户同时访问某一站点)、距离时延(由于距离很远产生时延)这些情况下,缓存的优势就会体现出来了。

缓存可分为:私有缓存和公有缓存

私有缓存是个人缓存,包含单个用户最常用的页面。(浏览器的缓存是私有缓存)

公有缓存包含了某个用户团体的常用的页面。

二. 浏览器存储

浏览器存储(Browser Caching)是浏览器的一种优化机制。浏览器的缓存中保存了用户经常访问的一些文档的副本,避免了一些重复的网络请求,

浏览器能够快速地读取本地的数据,这样就会加快网站的访问速度。

1. 浏览器有哪几种缓存机制

浏览器一共有九种缓存机制

打开浏览器 -> 点击F12 -> 点Application

可以看到浏览器的多种缓存机制:

浏览器的几种缓存机制

(1). http缓存

http缓存是基于http协议的浏览器文件缓存机制,当重复请求某一个文件时,浏览器可以根据协议的头文件判断是从服务器端请求文件还是从本地读取文件。

上图中的Frames展示的就是http缓存

a. 判断过期的两种方式:

ExpiresCache-Control:max-age

Expires:存的是绝对的过期的日期(例如:牛奶的保质期)

Cache-Control:max-age 存的是还可以保鲜多久,是相对时间,用秒做单位

b. 如果a中判断缓存已经过期,那么就要进行缓存再验证

缓存再验证的两种方式:

请求报文里携带

If-Modified-Since:Date和If-None-Match

If-Modified-Since:Date 对修改日期进行验证

If-None-Match:<tags> 对实体标签的版本标识符进行验证

例如:

响应报文:

HTTP/1.1 200 OKLast-Modified: Tue, 12 Dec 2006 03:03:59 GMTETag: "10c24bc-4ab-457e1c1f"Content-Length: 12195

下一次的请求报文 :

GET /i/yahoo.gif HTTP/1.1Host: us.yimg.comIf-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMTIf-None-Match: "10c24bc-4ab-457e1c1f"

再次响应的报文:

HTTP/1.1 304 Not Modified

c. b中再验证的结果有两种:服务器中的文件未修改 和 服务器中的文件有修改

服务器中的文件未修改:缓存中的副本可以使用,那么浏览器直接从缓存读取文档,返回304

服务器中的文件有修改:缓存中的副本不能使用,那么直接从服务器端读取文档,返回200

(2). indexDB 客户端本地数据库(大型数据库)

indexDB是浏览器中的一种数据库,用来保存结构化数据。

indexDB设计的操作完全是异步进行的。

indexDB最大的特色是使用对象保存数据。

indexDB.open(“database”) 打开数据库 或者 创建并打开数据库;

indexDB.setVersion(“1.0”) 为数据库指定一个版本号;

database.transaction(); 创建事务,对数据库进行操作;

openCursor() 在对象存储空间上调用这个方法,通过游标查找数据;

createIndex() 创建索引;

indexDB的并发问题;

(3). Cookies

1.cookies是什么

cookies是服务器用来标识web用户的一小块数据。

cookies的基本思想就是让浏览器积累一组服务器特有的信息,并在客户端和服务器端来回传递

Cookies是由服务器端生成,发送给浏览器,浏览器会将Cookies的key/value保存到某个目录下的文本文件内,

下次请求同一网站时就发送该Cookies给服务器(前提是浏览器设置为启用cookies)。

Cookies一般存在用户本地终端上,通常经过加密处理。

Cookies一般通过http请求中的头部一起发送到服务器端。在客户端和服务器端之间来回传递。

一条cookie记录主要由键、值、域、过期时间、大小组成。

2. cookies的分类:持久cookies 和 会话cookies

一般而言,我们所说的cookie是指的持久cookie(设置了过期时间的cookie)

持久cookie:存储在硬盘上;

持久cookie:是在过期时间之后消失。

持久cookie:是存在电脑硬盘里,是可以被同一个浏览器的所有页面共享的(无论是多进程还是多线程浏览器);

补充一点点:

不同浏览器之间不能共享cookie,因为每个浏览器存cookie路径不是一样的。

3. cookies的安全性问题:

第三方web站点使用持久cookie来跟踪用户,当用户访问同一个广告公司提供的站点,浏览器就会回送之前设置的持久cookie,

广告公司便可构建成一个用户档案和浏览习惯的详尽数据集。

(4). storage类型

有如下方法:

clear();

getItem(name);

key(index);

removeItem(name);

setItem(name,value);

localStorage对象:要访问同一个localStorage对象,页面必须同源;

sessionstorage对象:只能被最初给对象存储的页面所访问;

修改localStorage对象、sessionstorage对象都会触发 document 的 storage事件;

localstorage 和 sessionstorage 都是HTML5提供的在客户端存储数据的新方法。

这两个都是windows对象的属性。

其主要区别是:

localStorage - 没有时间限制的数据存储,主要用来存储ajax返回的数据,加快下次访问的渲染速度。

sessionStorage - 针对一个 session 的数据存储。浏览器关闭后就删除。

不同的浏览器无法共享localStorage或sessionStorage中的信息。

注意:cookies、localStorage、sessionStorage的区别

1. 存储时间不同

持久cookies在过期日期之前都会存在;

localStorage会一直存在,除非主动删除;

sessionStorage在标签页关闭之后就会删除;

2. 存储的位置不同

持久cookies是存在用户终端,也就是电脑硬盘上,cookies始终在同源的http请求中携带,会在浏览器和服务器间来回传递。

localStorage和sessionStorage是存在浏览器端;

3. 存储大小不同

cookies数据大小不能超过4k;

sessionStorage和localStorage存储大小比cookies大得多,可以达到5M;

4. cookie还需要指定作用域,不允许跨域调用

localStorage、sessionStorage的使用场景:

localStorage实现离线操作,新闻编辑上传功能,离线时保存在本地,有线时上传;保存用户配置项。

希望用户关闭页面之后就销毁的数据可以保存在sessionStorage中;

(6). application cache 离线存储

1.什么是application cache

application cache是HTML5的新特性,允许浏览器在本地存储页面所需要的资源,使得页面离线也可以访问。

在用户没有与因特网进行连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

application cache是从浏览器的缓存中分出来的一块缓存区。

如何判断设备是否离线?

if(navigator.onLine) {//设备在线时的操作} else {//设备离线时的操作}

window对象上定义了2个事件:

online: 设备从离线变成在线;

offline: 设备从在线变成离线.

    推荐阅读
  • 比霸王龙更厉害四种恐龙(史前比霸王龙更厉害的恐龙都有哪些)

    首先在体型上特暴龙于霸王龙是比较接近的特暴龙体长约在12米左右,最重7.5吨。最大体长和体重达到了10.52吨和13.8米,属于鲨齿科。是世界第三大肉食恐龙,虽然在体长,体重等方面占据了优势但是马普龙身体比霸王龙更纤细。它们体长大约为8米,体重2-4吨,相当于霸王龙的一半重量。所以,异特龙的攻击主要以咬伤猎物为主。正所谓好虎架不住群狼,最终霸王龙会被异特龙的车轮战术打败。

  • 风格混搭才是真好看(混搭与跨界)

    近日,中国农民丰收节组织指导委员会正式设立“中国农民丰收节推广大使”,袁隆平、申纪兰、冯巩、海霞、冯骥才、李子柒等6人受聘担任首批推广大使。“杂交水稻之父”袁隆平和“网红”李子柒一起上热搜,网友高呼:“次元壁”破了!现在“次元壁”基本代表某个行业、某个圈子的界限和差异,“破次元壁”就是非常抢眼的跨界、出圈。李子柒与袁隆平、冯巩等来自社会不同行业的名人,有了一个共同身份,确实可用“破次元壁”来形容。

  • 一次性饭盒可以微波炉加热吗 一次性饭盒可以微波炉加热吗?

    3、要是一次性饭盒的盒身标注5号PP的塑料外卖打包盒,那么就可以放进微波炉加热,因为5号聚丙烯,带有字母PP标识的,熔点高达167℃,是耐热极强的材料,是唯一可以放进微波炉的塑料盒。

  • 南瓜煲鸡怎么做(如何做南瓜煲鸡)

    下面希望有你要的答案,我们一起来看看吧!南瓜煲鸡怎么做红枣洗净后用温水泡发;南瓜去皮去瓤洗净切成小块;鸡肉洗净沥干剁成大小均匀的块;生姜切片,葱切花。热锅放油,下入鸡块与姜片,大火将鸡块炒至出油,放入两小勺料酒,炒匀。加入约500毫升热水,盖上锅盖,小火煮约5分钟,放入南瓜与红枣,煮至南瓜熟透。放入适量的盐、蚝油、鸡粉、胡椒粉,炒匀后再煨煮约2分钟,最后放入葱花炒匀即可。

  • 外接天线怎么安装(蓝牙外接天线怎么安装)

    接地线最好焊接在一根金属条或板上,埋入地下1米左右,对地电阻一般要求小于20欧,以免闪落电丈夫过大。有些用户居室附近的建筑物上安有避雷装置,受其保护可不装避雷针。

  • 长期喝咖啡会不会得心脏病(每天喝两三杯咖啡有助预防心脏病)

    参与者的平均年龄为57岁,50%为女性。研究结果显示,一般来说,每天喝两到三杯咖啡的好处最大。研究第二部分的研究对象为34279名患有某种心血管疾病的人。与不喝咖啡的患者相比,每天喝两到三杯咖啡的人死亡率较低。在24111名心律失常的人中,饮用咖啡可以降低死亡风险。吉斯特勒说,研究结果表明,与选择含咖啡因的咖啡相比,选择无因咖啡在预防心血管问题方面并无差异。无咖啡因咖啡减少了患心力衰竭外的心血管疾病的概率。

  • 临沂市沂蒙优秀人才公示(临沂市十大沂蒙工匠)

    临沂市沂蒙优秀人才公示齐鲁网4月19日讯为进一步听取意见,体现公开、公平、公正原则,接受社会监督,现将临沂市“十大沂蒙工匠”拟命名人选名单予以公示。公示期间,任何个人和单位均可通过电话、传真、信函实名向临沂市总工会反映公示人选的情况和问题。电话:0539-8726710传真:0539-8726716邮编:276001地址:北城新区文化中心A座12楼1206;临沂市总工会生产保障部。

  • 王宝强的电影有哪些?(王宝强演了什么电影)

    王宝强的电影有哪些《Hello,树先生》:豆瓣评分7.8,讲述了每天过着浑浑噩噩日子的无业青年树先生在结婚前一天疯掉的故事。《人在囧途》:豆瓣评分7.7,讲述了一名企业老板在回家途中遇到挤奶工,而频发意外的故事。《唐人街探案》:豆瓣评分7.6,讲述了少年秦风和表舅在泰国唐人街被追杀,最终找到被盗的黄金并查明真相的故事。

  • ds最后的疯狂(完美主义DS那些不可忽视的细节)

    不知是否是设计师有意而为之,DS5一共使用了多达12块玻璃来组成车身上部的设计。LED大灯不是第一次出现在DS车型上,在DS4S正式亮相之前DS5早已使用上了LED大灯。DS4S作为DS第四款国产车型上市之初便主打精致动感卖点,DS4S保留了DS家族化特征元素的同时成为了第二款搭载全LED大灯设计的国产车型。除此之外DS4S的全LED大灯系统还是DS品牌首款贴有DSLEDVISION的车灯。DS追求极致渴望完美的精神再次彰显无疑。