ios哪个浏览器可以缓存 深入理解浏览器缓存
ios哪个浏览器可以缓存 深入理解浏览器缓存
2024-09-29 04:39:14  作者:她是个贱人  网址:https://m.xinb2b.cn/sport/ozq445050.html

这是关于php进阶到架构之nginx进阶学习的第篇文章:深入理解浏览器缓存,我来为大家科普一下关于ios哪个浏览器可以缓存 深入理解浏览器缓存?以下内容希望对你有帮助!


ios哪个浏览器可以缓存 深入理解浏览器缓存

目录概述浏览器缓存的作用缓存读取的原理协商缓存强制缓存协商缓存与强制缓存区别小结php7进阶到架构师相关阅读概述

这是关于php进阶到架构之nginx进阶学习的第篇文章:深入理解浏览器缓存

第一篇:5分钟搞懂nginx的location匹配规则第二篇:nginx rewrite规则详解第三篇:5分钟上手nginx分流实战第四篇:Nginx跨域配置第五篇:深入理解浏览器缓存浏览器缓存的作用缓存可以减少数据传输。节省了网络带宽,从而更快的加载页面。缓存降低了服务器的要求,从而服务器更快的响应。

那么我们使用浏览器缓存,浏览器缓存的资源文件到什么地方去了呢?

那么首先来看下浏览器memory cache 和 disk cache缓存

memory cache:

它是将资源文件缓存到客户端(你的电脑或手机)内存中。等下次请求访问的时候不需要重新下载资源,而是直接从内存中读取数据。

disk cache:

它是将资源文件缓存到硬盘(你的电脑或手机磁盘)中。等下次请求的时候它是直接从硬盘中读取。

那么memory cache与disk cache的区别是什么?

memory cache(内存缓存):

退出进程时(如关闭浏览器)数据会被清除

disk cache(硬盘缓存):

退出进程时(如关闭浏览器)数据不会被清除

内存读取比硬盘中读取的速度更快。

但是我们也不能把所有数据放在内存中缓存的,

因为内存也是有限的。

缓存读取的原理

先从内存中查找对应的缓存,

如果内存中能找到就读取对应的缓存,

否则的话就从硬盘中查找对应的缓存,

如果有就读取,

否则的话,就重新网络请求。

那么浏览器缓存它又分为2种:协商缓存和强制缓存。

协商缓存

客户端向服务器端发出请求,服务端会检测是否有对应的标识,

如果没有对应的标识,服务器端会返回一个对应的标识给客户端,

客户端下次再次请求的时候,把该标识带过去,

然后服务器端会验证该标识,

如果验证通过了,则会响应304,告诉浏览器读取缓存。

如果标识没有通过,则返回请求的资源。

协商缓存的标识又有2种:ETag/if-None-Match 和 Last-Modified/if-Modify-Since

协商缓存Last-Modified/if-Modify-Since

浏览器第一次发出请求一个资源的时候,服务器会返回一个last-Modify到hearer中.

Last-Modify 含义是最后的修改时间。

当浏览器再次请求的时候,request的请求头会加上 if-Modify-Since,该值为缓存之前返回的 Last-Modify.

服务器收到if-Modify-Since后,根据资源的最后修改时间(last-Modify)和该值(if-Modify-Since)进行比较,

如果相等的话,则命中缓存,返回304,

否则, 如果 Last-Modify > if-Modify-Since,

则会给出200响应,并且更新Last-Modify为新的值。

协商缓存ETag/if-None-Match

ETag的原理和上面的last-modified是类似的。

ETag则是对当前请求的资源做一个唯一的标识。

该标识可以是一个字符串,文件的size,hash等。

只要能够合理标识资源的唯一性并能验证是否修改过就可以了。

ETag在服务器响应请求的时候,返回当前资源的唯一标识(它是由服务器生成的)。

但是只要资源有变化,ETag会重新生成的。

浏览器再下一次加载的时候会向服务器发送请求,会将上一次返回的ETag值放到request header 里的 if-None-Match里面去,服务器端只要比较客户端传来的if-None-Match值是否和自己服务器上的ETag是否一致,

如果一致说明资源未修改过,因此返回304,

如果不一致,说明修改过,因此返回200。

并且把新的Etag赋值给if-None-Match来更新该值。

last-modified 和 ETag之间对比

1. 在精度上,ETag要优先于 last-modified。

2. 在性能上,Etag要逊于Last-Modified。Last-Modified需要记录时间,而Etag需要服务器通过算法来计算出一个hash值。

3. 在优先级上,服务器校验优先考虑Etag。

强制缓存

浏览器在加载资源的时候,会先根据本地缓存资源的header中的信息(Expires 和 Cache-Control)来判断是否需要强制缓存。如果命中的话,则会直接使用缓存中的资源。否则的话,会继续向服务器发送请求。

Expires

Expires 是http1.0的规范,它的值是一个绝对时间的GMT格式的时间字符串。这个时间代表的该资源的失效时间,如果在该时间之前请求的话,则都是从缓存里面读取的。但是使用该规范时,可能会有一个缺点就是当服务器的时间和客户端的时间不一样的情况下,会导致缓存失效。

Cache-Control

是http1.1的规范,它是利用该字段max-age值进行判断的。该值是一个相对时间,比如**Cache-Control: max-age=3600,**代表该资源的有效期是3600秒。

no-cache:

需要进行协商缓存,发送请求到服务器确认是否使用缓存。

no-store:禁止使用缓存,每一次都要重新请求数据。

public:可以被所有的用户缓存,包括终端用户和 CDN 等中间代理服务器。

private:只能被终端用户的浏览器缓存,不允许 CDN 等中继缓存服务器对其缓存。

Cache-Control 与 Expires 可以在服务端配置同时启用,同时启用的时候 Cache-Control 优先级高。

协商缓存与强制缓存区别小结

协商缓存本质是通过服务器端的304实现,每次访问都需要请求服务器,然后服务器返回304,从而读取浏览器本地(内存或文件)缓存

强制缓存是通过Cache-Control和expire实现,第一次需要请求服务器,然后在服务器失效之前****无需请求服务器,直接读取浏览器本地(内存或文件)缓存。

php7进阶到架构师相关阅读

https://www.kancloud.cn/gofor/gofor

最后,欢迎大家留言补充,讨论~~~,
  • 干煎黄鱼正宗做法(干煎小黄鱼)
  • 2024-09-29干煎小黄鱼干煎小黄鱼分类:煎,电饼铛作者:小羽私厨创建时间:2013-12-1622:26:39描述:小黄鱼是比较适合煎着吃的鱼,煎得酥酥脆脆的,连骨头都可以吃掉!用料:小黄鱼盐柠檬汁面粉步骤:0.1、将小黄鱼。
  • 屈原虽九死而犹未悔(惟草木之零落兮)
  • 2024-09-29惟草木之零落兮文/潮爷农历五月初五,是我国传统的端午节,又称端阳、重五、端五节早在周朝,就有“五月五日,蓄兰而沐”的习俗端午节快到了,每每在吃粽子的时候,我们都会怀念一位伟大的诗人!一辈一辈传下来,而且还要一直一直。
  • 冯小刚葛优演技炸裂(冯小刚我抛弃)
  • 2024-09-29冯小刚我抛弃今日,电影《芳华》突破10亿大关,导演冯小刚终于加入10亿票房俱乐部,高兴地与华谊总裁王中磊、导演管虎一起庆祝电影票房大卖一扫之前《芳华》撤下国庆档时的阴霾,并且与华谊签下的”对赌协议“也将超额完成:。
  • 宝宝什么时候可以学习如厕(宝宝如厕那些问题)
  • 2024-09-29宝宝如厕那些问题Q:越早训练排尿越好吗?不是这样的有调查显示:越早开始如厕训练的宝宝,其训练期也较长例如一个从1岁半开始如厕训练的宝宝,到2岁2个月时才完成白天的训练,共花费8个月;而一个从2岁开始如厕训练的宝宝,到。
  • 艾草根好还是艾叶好(艾草根和艾叶哪个好)
  • 2024-09-29艾草根和艾叶哪个好各有各的好,主要根据自身的需求而定艾根味苦、微温、无毒,具有较好的驱寒、利阴、止血、安胎等作用,在生活中主要被人们用来煲汤居多;而艾叶味苦辛、性温,归肝、脾、肾经,具有一定理气血、温经脉、逐寒湿、止冷。
  • 仙草芋头的做法(仙草芋头怎么做)
  • 2024-09-29仙草芋头怎么做食材:芋头4个、芒果1个、仙草1份、牛奶200毫升食材准备锅内烧热水烫下牛奶将芋头洗净,去皮洗净的芋头切成滚刀块锅内烧热水,放入芋头煮10分钟后捞出控干水分加工芒果,按住芒果,先切上面一片将芒果肉切花。
  • 抖音企业运营攻略(抖音运营产品品牌介绍完整版)
  • 2024-09-29抖音运营产品品牌介绍完整版【文末附完整版资料获取方式】今日分享:《抖音运营产品品牌介绍》完整版,渠道运营必备完整版资料,文末获取!内容涵盖:平台介绍产品介绍案例分享部分内容概览:【本着互联网共享精神分享,如有侵权请联系删除】完。
  • 无证之罪 电视剧解说(从无证之罪到隐秘的角落)
  • 2024-09-29从无证之罪到隐秘的角落文|符琼尹编辑|何润萱“看了这么多年的美剧英剧,终于有一部品质可与其抗衡的‘中剧’了!”在《隐秘的角落》将收官的当天下午,章子怡在微博发布了对该剧的评论这部能让章子怡当起“自来水”的剧,事实上也是过去。
  • 基因治疗癌症基本原理(饥饿疗法治癌症)
  • 2024-09-29饥饿疗法治癌症科技日报2019年,科学终结了这些谣言本报记者付丽丽俗话说:“造谣一张嘴,辟谣跑断腿”不得不说,互联网在给人们生活带来极大便利的同时,也让谣言“跑”得更快随着自媒体日益兴盛,各种谣言更是满天飞在铺天盖。
  • 面试 月薪怎么计算(8万乘9万等于多少)
  • 2024-09-298万乘9万等于多少点击上方「红色」,关注梁先生说职场,升级职场思维,快速升职加薪小王在一家公司兢兢业业打拼了三年,工资还是原地打转,工作内容也没有变化,很是无聊于是他问了很多专家自己的问题出在哪里,最后发现,一方面是自。
  • 环宇一小四年级诗歌朗诵大赛(品课文之韵诵语言之美)
  • 2024-09-29品课文之韵诵语言之美美文传承文化,朗读滋润人生为进一步丰富学校文化生活,营造浓厚的书香校园氛围,激发学生读课文的热情,促进学生朗读水平的提高,一年级语文组于5月30日下午在报告厅举行了“品课文之韵诵语言之美”一年级课文朗。
  • 玻璃胶用什么洗(用什么能洗掉玻璃胶)
  • 2024-09-29用什么能洗掉玻璃胶首先在玻璃胶没有固化时,无论是粘贴在器物或者衣着上,用清水洗刷就能轻易清除如果固化的玻璃胶依附与玻璃或金属物品上,可以考虑用含有二甲苯,丙酮的香蕉水等溶剂清洗如果是比较光洁又坚硬的平面上,用美工刀刮一。