ios哪个浏览器可以缓存 深入理解浏览器缓存
ios哪个浏览器可以缓存 深入理解浏览器缓存
2024-06-28 02:01:01  作者:她是个贱人  网址:https://m.xinb2b.cn/tech/ozq445050.html

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

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-06-28跑男团演绎十二生肖《奔跑吧兄弟》第四季播出过半,官方微博发布的宣传片显示,6月3日(本周五晚)21:10播出的第八期跑男,又将是一期精彩纷呈的烧脑特辑!千年一遇的森林晚宴却接连发生中毒事件,引得现场...张涵予Ange。
  • 14岁全红婵是男是女,15岁全红婵久违出镜
  • 2024-06-2814岁全红婵是男是女,15岁全红婵久违出镜还记得全红婵吗?是的,一个只有14岁的女孩!东京奥运会后,全红婵成为中国体育的“顶流”,人气不亚于谷爱凌与谷爱凌不同,全红婵并没有利用热度来接受广告审批或参与商业活动尽管有其他公司的礼物,全红婵和她的。
  • 小学二年级数学易错题集锦(小学二年级数学)
  • 2024-06-28小学二年级数学小学阶段,学生答错题的原因一部分是因为基本概念掌握不牢,还有一大部分原因是因为题目本身设置的“陷阱”,而学生并未认真审题、马虎答题所造成的题目本身是道“送分题”,结果还是答错,平白丢分王老师今天分享的。
  • 有才德和声望的人的词语九年级
  • 2024-06-28有才德和声望的人的词语九年级有才德和声望的人的词语可以是:贤达词语发音:xiándá基本解释:解释◎贤达xiándá贤能通达之人;有才德、声望的人引用解释1.贤明通达汉王充《论衡·效力》:“文儒非必诸生也,贤达用文则是矣”宋陆游。
  • 肖申克的救赎讲了一个什么故事(肖申克的救赎到底讲了什么)
  • 2024-06-28肖申克的救赎到底讲了什么这部电影你一定在各大榜单上见过他,在必看的电影里他往往占据榜首,明明是一部越狱电影,却显现着人性的光辉,人类始终如一地对自由的向往大家好,今天为大家推荐一部电影《肖申克的救赎》“恐惧让你沦为囚犯,希望。
  • 养殖绒山羊前景(养寒羊和绒山羊哪个利润大)
  • 2024-06-28养寒羊和绒山羊哪个利润大寒羊的养殖利润分析寒羊,是小尾寒羊和大尾寒羊的统称其中,小尾寒羊属于地方优良品种,就以该品种为例分析小尾寒羊具有生长发育快,肉毛质地优良和经济效益好等优点,是农民致富的良好选择一只小尾寒羊从断奶到出栏。
  • 懒人凉皮(做凉皮的步骤有哪些)
  • 2024-06-28做凉皮的步骤有哪些适量的面粉加入少许的食用碱粉再加凉水,不停的向一个方向搅拌,搅拌成面糊状,搅至没有生面糊锣锣底部抹油倒入少许的面糊马上转动锣锣好让面糊摊薄一点锅中烧水,水开放入锅中蒸3分钟出锅放入凉水中,在上面再刷一。
  • 蒲公英凉拌怎么做好吃(制作凉拌蒲公英的方法)
  • 2024-06-28制作凉拌蒲公英的方法食材:蒲公英、木耳、香菇、蒜茸、醋、糖、盐、香油、鸡精、杏仁粒、生抽将准备好的新鲜的蒲公英置于清水中洗净之后置于一旁沥干净水分备用锅中加入适量的清水将准备好的蒲公英置于锅中进行焯水处理,最好时加入适量。
  • 李茂扮太子管家剧照(常远一人饰两角)
  • 2024-06-28常远一人饰两角很久很久以前有一对父子,父亲是皇上,儿子是太子,后宫佳丽三千皇上却偏偏独宠一人,只生下一个孩子,皇帝对这个孩子十分宠爱,望子成龙,每天把太子关在皇宫学习,不让太子出门,为了太子的安全,不让别人知道太子。
  • 杭州正宗小笼包馅料配方(杭州小笼包实体店商用配方)
  • 2024-06-28杭州小笼包实体店商用配方朋友们,大家好呀,我是小吃培训顶正,欢迎您阅读《杭州小笼包实体店商用配方》,今天这篇文章我将深入为大家介绍杭州小笼包实体店在用配方,从和面到调馅全部详细讲解!如果你想学习或者是对杭州小笼包制作有更好的。
  • 郭麒麟第一次见宋丹丹迟到(郭麒麟迟到道歉)
  • 2024-06-28郭麒麟迟到道歉郭麒麟表示自己确实不对,然后等一下自罚一杯其实我本人觉得郭麒麟这样的处理方式很高明,因为这个问题不论你解释还是不解释都会让人觉得你没礼貌,索性不如直接认错这样一来,大家自然没有什么可挑剔的了而且郭麒麟。