威尼斯人线上娱乐

浏览器缓存,浏览器缓存调整

24 4月 , 2019  

HTTP 缓存机制壹23

2017/10/18 · HTML5 · 4
评论 ·
缓存

原版的书文出处: 阿咩   

威尼斯人线上娱乐 1Web
缓存大概能够分成:数据库缓存、服务器端缓存(代理服务器缓存、CDN
缓存)、浏览器缓存。

浏览器缓存也富含众多内容: HTTP 缓存、indexDB、cookie、localstorage
等等。这里大家只谈谈 HTTP 缓存相关内容。

在现实领悟 HTTP 缓存之前先来显著多少个术语:

  • 缓存命中率:从缓存中获取数码的伸手数与具备请求数的比值。理想状态是越高越好。
  • 逾期内容:超过设置的管用时间,被标志为“陈旧”的始末。经常过期内容不能够用来复苏客户端的伸手,必须另行向源服务器请求新的始末依然注明缓存的内容是还是不是依旧预备。
  • 表达:验证缓存中的过期内容是或不是仍旧有效,验证通过的话刷新过期时间。
  • 失效:失效便是把内容从缓存中移除。当内容发生退换时就不能够不移除失效的内容。

浏览器缓存重假设 HTTP 协议定义的缓存机制。HTML meta 标签,比如

JavaScript

<META HTTP-EQUIV=”Pragma” CONTENT=”no-store”>

1
<META HTTP-EQUIV="Pragma" CONTENT="no-store">

意义是让浏览器不缓存当前页面。不过代理服务器不解析 HTML
内容,一般采纳分布的是用 HTTP 头消息调控缓存。

强缓存

Web缓存分为很各类,例如数据库缓存,代理服务器缓存,还有大家耳熟能详的CDN缓存,以及浏览器缓存。

浏览器缓存调节,浏览器缓存

浏览器缓存调节

Last-Modified/ If-Modified-Since

威尼斯人线上娱乐,在浏览器第3遍呼吁某三个ULX570L时,服务器端的归来状态码200,内容是客户端请求的财富,同时有3个Last-Modified的习性标识此文件在劳务器端最终被涂改的时光。

Last-Modified格式类似那样:Last-Modified : Fri , 1二 May 200陆 1八:⑤三:3三罗红霉素T

客户端第二回呼吁此UBMWX伍L时,遵照HTTP协议的鲜明,浏览器会向服务器传送If-Modified-Since报头,询问该时间今后文件是不是有被修改过:

If-Modified-Since : Fri , 12 May 2006 18:53:33 GMT

只要服务器端的财富没有成形,则自动再次回到 HTTP 30四(Not
Changed.)状态码,内容为空,那样就省去了传输数据量。当服务器端代码发生改变或然重启服务器时,则再一次发出财富,再次来到和率先次呼吁类似。从而保障不向客户端重复发生产资料源,也有限支撑当服务器有转移时,客户端能够得到最新的资源。

Last-Modified的问题

一、一些文书会被编辑,但剧情并未有改观,那个时候不期待客户端感觉那些文件被修改了,而再一次获得财富。

二、有个别文件修改十分频仍,举例在秒以下的光阴内开始展览改换,If-Modified-Since不能检查到。

三、某个服务器不可能可信赖的拿走文件的末尾修改时间。

 

Expires

Expires用来决定缓存失效的日子。当浏览器看到响应中有2个Expires头时,它会和呼应的组件一同保存到其缓存中,只要组件未有过期,浏览器就会采纳缓存版本而不会实行别的的HTTP请求。永世的Expires头适用于图片等不平日更新的能源。Expires设置的日子格式必须为GMT(格林尼治标准时间)。

Expires:Wed, 11 Jan 2017 08:10:26 GMT

Expires的不足:

先是,Expires头使用的是四个一定的时间,要求客户端和劳动器端的机械钟严苛同步。要是服务器和客户端的时日不统1,那有相当的大概率出现缓存提前失效的意况,存在不稳固性。其次,就算Expires的日子到来,须求在服务器配置中再提供1个新的日子。

 

Cache-Control

HTTP一.一引进了Cache-Control头来战胜Expires头的不足。Cache-Control使用max-age制定组件被缓存多短期,以秒为单位。举个例子

Cache-Control:max-age=3600表示组件将被缓存60分钟。

假设max-age和Expires同时出现,则max-age有越来越高的先行级,浏览器会基于max-age的时辰来承认缓存过期岁月。

常用 cache-directive 值

Cache-directive

说明

public

具备内容都将被缓存(客户端和代理服务器都可缓存)

private

内容只缓存到个人缓存中(仅客户端能够缓存,代理服务器不可缓存),暗中认可值

no-cache

不可能不先与服务器确认再次来到的响应是不是被改变,然后才具动用该响应来满意一而再对同八个网站的呼吁。因而,假使存在妥善的证实令牌
(ETag),no-cache
会发起往返通讯来验证缓存的响应,假如财富未被转移,能够避免下载。

no-store

抱有内容都不会被缓存到缓存或 Internet 权且文件中

must-revalidation/proxy-revalidation

假使缓存的剧情失效,请求必须发送到服务器/代理以拓展重复验证

max-age=xxx (xxx is numeric)

缓存的始末将要 xxx 秒后失效, 那个选项只在HTTP
1.1可用
。如若和Last-Modified一同利用时, 优先级较高

 

浏览器的例外操作

张开新窗口

万一钦赐cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会再也访问服务器。而1旦内定了max-age值,那么在此值内的岁月里就不会再一次访问服务器,比方:Cache-control:
max-age=伍 代表当访问此网页后的伍秒内不会去重新做客服务器.

在位置栏回车

假使值为private或must-revalidate,则唯有首先次访问时会访问服务器,现在就不再访问。假若值为no-cache,那么每一回都会造访。假诺值为max-age,则在逾期在此之前不会重新访问。

按后退按扭

要是值为private、must-revalidate、max-age,则不会重访问,而若是为no-cache,则每趟都再一次访问.

按刷新按扭

无论是为何值,都会重新访问.

 

Etag(Entity Tag)

浏览器缓存,浏览器缓存调整。服务器在检验缓存的零件是还是不是和原始服务器上的组件相配时有二种艺术:

(一)比较近日涂改日期;Last-Modified/If-Modified-since

(一)相比实体标签;Etag/If-None-Match(优先级比If-Modified-since高)

实体标签,是web服务器和浏览器用于确认缓存组件的实惠的1种体制。

           ETag:”50b1c1d4f775c61:df3″

首先次呼吁时:

一.客户端发起HTTP GET 请求二个财富;

二.服务器管理请求,重回能源,包含Http Etag和状态码200

其次次呼吁时:

1.客户端发起 HTTP GET
请求1个文书,请求中归纳1个If-None-Match头,内容就是第贰遍呼吁时服务器再次来到的Etag的值

二.服务器判定接受到的Etag和总结出来的Etag是或不是相配。若相称,重返30四状态码,客户端继续应用本地的缓存。若不包容,重返财富和新的ETag。

ETag带来的标题

ETag平日选择组件的有个别质量来组织它,那些属性对于特定的住宿了网址服务器来讲是绝无仅有的。当浏览器从壹台服务器上获得了土生土长组件,之后又向其余壹台差异的服务器发起条件GET请求时,ETag是不会合作的。

对组件进行不供给的重复加载还会潜移默化服务器的质量并扩充带宽开销。尽管您的Round罗布in
Rotation集群中有n台服务器,下2次用户缓存中的Etag能和服务器相称的票房价值是1/n。Etag还会回落代理缓存的效用,因为代理的与自身的不相称会重新下载。

HTTP响应优化

移除ETag,Expires,使用Cache-Control调控地点缓存。

浏览器缓存调节Last-Modified/ If-Modified-Since
在浏览器第2次呼吁某3个U牧马人L时,服务器端的回来状态码200,内容…

HTTP 头音信调控缓存

大要分成三种:强缓存和谐和缓存。强缓存假如命中缓存不需求和劳动器端爆发相互,而协商缓存不管是还是不是命中都要和劳务器端发生相互,强制缓存的先期级高于协商缓存。具体内容下文介绍。

相配流程(已有缓存的景观下):

威尼斯人线上娱乐 2

能够驾驭为无须验证的缓存战略。对强缓存来讲,响应头中有四个字段
Expires/Cache-Control 来注解规则。

缓存的第叁不用多说了吧,比方chrome会把缓存的文本保留在一个叫User
Data的公文夹下,下次页面加载一样能源时,可以一贯从地面读取,不必经过HTTP从劳动器端再次下载财富,大大加快了页面包车型地铁响应速度。

强缓存

能够领会为无须验证的缓存攻略。对强缓存来讲,响应头中有八个字段
Expires/Cache-Control 来表明规则。

Expires

Expires
指缓存过期的时刻,超过了那些时间点就表示能源过期。有贰个标题是出于应用具体时刻,假设时间表示出错或然未有改变来科学的时区都大概导致缓存生命周期出错。并且
Expires 是 HTTP/一.0 的职业,未来更倾向于用 HTTP/1.1 中定义的
Cache-Control。三个同时存在时也是 Cache-Control 的先期级更加高。

Cache-Control

Cache-Control 能够由三个字段组合而成,首要有以下多少个取值:

  1. max-age
    钦点二个光阴长度,在这么些时刻段内缓存是可行的,单位是s。举例设置
    Cache-Control:max-age=31535000,也便是说缓存限时为(3153伍仟 / 2四 / 60
    * 60)天,第2次访问那个能源的时候,服务器端也回到了 Expires
    字段,并且过期时间是一年后。

威尼斯人线上娱乐 3

在向来不禁止使用缓存并且未有抢先有效时间的事态下,再一次访问那么些资源就命中了缓存,不会向服务器请求能源而是一贯从浏览器缓存中取。

威尼斯人线上娱乐 4

  1. s-maxage 同 max-age,覆盖
    max-age、Expires,但仅适用于共享缓存,在个人缓存中被忽略。

  2. public
    证明响应得以被别的对象(发送请求的客户端、代理服务器等等)缓存。

  3. private
    注解响应只好被单个用户(恐怕是操作系统用户、浏览器用户)缓存,是非共享的,无法被代理服务器缓存。

  4. no-cache
    强制全数缓存了该响应的用户,在选拔已缓存的多少前,发送带验证器的伏乞到服务器。不是字面意思上的不缓存。

  5. no-store 禁止缓存,每趟请求都要向服务珍视新获取数据。

Expires

本篇首要介绍一下浏览器缓存:

共谋缓存

缓存的财富到期了,并不表示财富内容发生了改观,要是和服务器上的能源未有不一致,实际上并大可不必再次伸手。客户端和服务器端通过某种验证机制验证当前呼吁财富是不是足以应用缓存。

浏览器第四回呼吁数据现在会将数据和响应底部的缓存标记存储起来。再度恳请时会带上存款和储蓄的尾部字段,服务器端验证是还是不是可用。假诺回到
30四 Not
Modified,代表能源未有生出更换能够运用缓存的多寡,获取新的逾期时间。反之重返200 就一定于再一次请求了二次财富并替换旧财富。

Last-modified/If-Modified-Since

Last-modified:
服务器端资源的终极修改时间,响应底部会带上那个标志。第二回呼吁之后,浏览器记录那个时间,再度请求时,请求底部带上
If-Modified-Since 即为从前记录下的小运。服务器端收到带 If-Modified-Since
的伸手后会去和能源的结尾修改时间比较。若修改过就再次回到最新能源,状态码
200,若未有更动过则赶回 304。

威尼斯人线上娱乐 5

注意:假使响应头中有 Last-modified 而尚未 Expire 或 Cache-Control
时,浏览器会有和谐的算法来推算出3个时日缓存该文件多长期,分裂浏览器得出的年月不一样等,所以
Last-modified 要记得协作 Expires/Cache-Control 使用。

Etag/If-None-Match

由服务器端上变换的一段 hash 字符串,第贰遍呼吁时响应头带上 ETag:
abcd,之后的呼吁中带上 If-None-Match: abcd,服务器检查 ETag,再次回到 30四 或
200。

威尼斯人线上娱乐 6

有关 last-modified 和 Etag 差别,已经有很多个人总计过了:

  • 一些服务器不能够标准获得能源的末段修改时间,那样就不可能通过最后修改时间剖断能源是或不是更新。
  • Last-modified 只好正确到秒。
  • 部分能源的末尾修改时间改换了,但是内容没改换,使用 Last-modified
    看不出内容从未改观。
  • Etag 的精度比 Last-modified
    高,属于强验证,须要财富字节等级的同等,优先级高。若是服务器端有提供
    ETag 的话,必须先对 ETag 进行 Conditional Request。

注意:实际利用 ETag/Last-modified
要留意保持一致性,做负载均衡和反向代理的话可能会冒出分化样的动静。计算ETag 也是急需占用能源的,假若更改不是矫枉过正频仍,看本人的须要用
Cache-Control 是还是不是能够满意。

选择 Cache-Control 的策略(摘自 Google Developers)

威尼斯人线上娱乐 7

Expires
指缓存过期的时光,超过了这几个日子点就代表财富过期。有一个主题素材是出于接纳具体时刻,假诺时光代表出错大概未有改动来科学的时区都大概导致缓存生命周期出错。并且
Expires 是 HTTP/1.0 的规范,未来更倾向于用 HTTP/1.一 中定义的
Cache-Control。七个同时存在时也是 Cache-Control 的预先级更加高。

  • HTTP Rresponse Header
  • Cache-Control
  • Expires
  • Last-modified
  • ETag
  • 实时更新缓存
  • 缓存计谋

实际上利用

回到实际行使上来,首先要简明哪些内容符合被缓存哪些不符合。

设想缓存的内容:

  • css样式文件
  • js文件
  • logo、图标
  • html文件
  • 能够下载的内容

壹对不应有被缓存的内容:

  • 政工敏感的 GET 请求

可缓存的剧情又分为两种不一致的事态:

不常常更动的文书:

给 max-age 设置二个非常的大的值,一般设置 max-age=3153四千

譬如说引入的部分第3方文件、打包出来的包蕴 hash 后缀 css、js
文件。一般的话文件内容更改了,会更新版本号、hash
值,也正是请求另2个文件。

典型中规定 max-age 的值最大不当先一年,所以设成
max-age=3153五千。至于过期内容,缓存区会将壹段时间未有利用的文本删除掉。

有看齐用对话的样式来叙述那么些进程,便效仿着图谋更清楚地解释:

威尼斯人线上娱乐 8威尼斯人线上娱乐 9

唯恐时时供给转移的文件:

Cache-Control: no-cache / max-age=0

比如入口 index.html 文件、文件内容退换但名称不改变的财富。选取 ETag 或
Last-Modified
来做表明,在采取缓存财富在此以前一定会去服务器端做验证,命中缓存时会比第二种情景慢一小点,究竟还要发请求进行通信。

威尼斯人线上娱乐 10威尼斯人线上娱乐 11

注意: 那里只描述了最基本的笔触,实际使用 HTTP
缓存须求后端合作配置,具体情状具体相比,而且各方的兑现并不一定完全依照标准来的,踩踩坑更符合规律。

参考小说

https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=zh-cn\#publicprivate

https://jakearchibald.com/2016/caching-best-practices

https://zhuanlan.zhihu.com/p/28113197

https://www.digitalocean.com/community/tutorials/web-caching-basics-terminology-http-headers-and-caching-strategies

https://stackoverflow.com/questions/12908766/what-is-cache-control-private

http://www.alloyteam.com/2016/03/discussion-on-web-caching/\#prettyPhoto

4 赞 12 收藏 4
评论

威尼斯人线上娱乐 12

Cache-Control

Cache-Control

Cache-Control用于定义资源的缓存计谋。能够钦命no-storeno-cachepublicprivatemax-gaes-maxage

no-store纯属禁止缓存,每回请求能源都要从服务注重新赚取。常见于含有隐秘数据或银行多少等场馆。

no-cache意味着不管max-age过不过期,每一次都要向服务重视新验证财富是还是不是被改换。只有服务器端确认能源未被涂改后(如前边会介绍的Last-modified或ETag),才具应用本地缓存。

public(暗中认可正是public)允许代理服务器缓存财富,以供多用户间共享。

private差别意代理服务器缓存该能源,用户间不共享,如HTTP认证响应会自动设为private

max-age缓存最大实用时间。单位是秒,从被呼吁时起初计时,那样能够幸免石英钟同步难题。因为本来用于缓存的Expires须求服务器和客户端时钟严苛同步,由此HTTP
1.一引进了cache-control:
max-age来幸免挂钟同步的范围。由此当cache-control:
max-age和Expires同时出现,Expires将被忽略。

s-maxage只适用于共享缓存如CDN缓存。

如图服务器端收到请求后,在HTTP Escortresponse Header里将cache-control:
max-age=120,表示该能源的实惠时间为二秒钟。二秒钟内客户端如需重新利用该能源,能够一直从本土读取,不须要再行向服务器发出请求了。

Cache-Control的判定流程图:

Cache-Control 能够由多少个字段组合而成,首要有以下多少个取值:

Expires

在HTTP一.壹引进Cache-Control在此以前,用Expires设置缓存过期时间,告诉浏览器在逾期日子前浏览器能够向来从本地读取财富,不必再一次向服务器请求。

但HTTP壹.一从此用Cache-Control替代了Expires,要是为了包容性cache-control:
max-age和Expires同时现身,Expires将被忽视

1.max-age钦赐三个时间长短,在那些日子段内缓存是卓有效能的,单位是s。在一直不禁止使用缓存并且未有超越有效时间的情景下,再度访问那些财富就命中了缓存,不会向服务器请求财富而是一直从浏览器缓存中取。

Last-modified

Last-modified是服务器告诉浏览器那些能源最终被改造的时光。

有怎么样用啊?比如浏览器依照cache-control:
max-age或Expires发掘缓存过期了,按理应该向服务珍视新请求能源。但壹旦资源内容其实远非变,重新请求能源太浪费了,用Last-modified能够优化这么些进程。

在有Last-Modified的图景下,浏览器会发送If-Modified-Since呼吁,服务器端比对请求里Last-modified时间和能源文件最终被涂改时间是还是不是一样。假使同样,服务器端回复304 Not Modified,那样浏览器就能承继应用本地的逾期缓存了,节约了带宽。若是不平等,服务器苏醒200 OK,重新发送财富给浏览器。

Last-modified作为一种优化手腕,供给和cache-control:
max-age或Expires共同利用。

2.s-maxage同 max-age,覆盖
max-age、Expires,但仅适用于共享缓存,在民用缓存中被忽视。

ETag

Last-modified作为1种优化花招,还不够完美,有时会有局地题目:

  1. 好几服务器无法标准得到能源的终极修改时间
  2. 借使能源修改12分频仍,在秒以下的小时内实行修改,而Last-modified只好正确到秒
  3. 有的财富的最后修改时间变了,但骨子里内容没改换

从而引入了ETag作为Last-modified的进阶版来化解地点那么些标题。服务端依据实体内容生成一段hash字符串,用以标志能源的情事。具体变化的hash字符串服务器有温馨的正规,如Apache中,默许是对文件的索引节(INode),大小(Size)和最终修改时间(MTime)进行hash后收获的。举个例子Etag:
“548三ec七b-柒c5二”

ETag的原理和Last-modified类似,就算浏览器依据cache-control:
max-age或Expires开采缓存过期了,但即使财富实际没有变的话,重新请求有点浪费。用ETag能够优化那几个历程。

在有ETag的景况下,浏览器会发送If-None-Match伸手,服务器端将请求里ETag字符串和财富文件的ETag字符串进行相比较。假若一样,服务器端回复304 Not Modified,那样浏览器就能三番五次应用本地的过期缓存了,节约了带宽。假如不相同等,服务器恢复生机200 OK,重新发送财富给浏览器。

ETag作为Last-modified的进阶版,一样要求和cache-control:
max-age或Expires共同利用。而且当ETag和Last-modified同时存在时,Last-modified会被忽略,由此1旦ETag相称退步,尽管缓存的Last-Modified没失效,也博得不到304Not Modified。

正如图,浏览器发掘cache-control:
max-age=120过期了,就向服务器发送If-None-Match请求,服务器发掘财富未被修改过,由此回复304Not Modified文告浏览器继续运用本地缓存

ETag的难点在于运用网址服务器会利用能源的少数品质来布局它,但对此具备多台服务器的网址,如Apache和IIS使用的性质差异,导致变化的hash值差异,会大大下落验证的成功率。结果是,对于完全同样的财富,当浏览器从Apache上获得了财富,又向IIS发起Get请求,ETag是不会同盟的。用户就不可能吸收接纳更加小越来越快的304,而是收到200常规去下载该能源。

如在多台服务器上留宿你的网址,且你选拔暗中认可ETag配置的Apache或IIS,那么效用难点你必须直面。比方Apache用FileETag可从ETag中移除inode值,只留下大小和岁月撮作为组件的ETag。IIS也有周边的ChangeNumber只留下时间撮作为组件的ETag。当然也足以深透移除ETag,如Apache上FileETag
none

完整缓存的进度:

3.public评释响应得以被别的对象(发送请求的客户端、代理服务器等等)缓存。

实时更新缓存

假若你改动了某能源,如CSS,但用户当地的cache-control:
max-age或Expires时间未到,用户还是会使用旧的CSS。除非缓存过期,或用户清理了浏览器缓存,不然你改改的资源文件是从未有过主意第一时间通告到用户的。

一旦想要落成,只好修改能源文件路径,举个例子将CSS文件名重命名字为xxx-v二.css等。以此强制用户重新加载最新版财富。

4.private标明响应只好被单个用户(恐怕是操作系统用户、浏览器用户)缓存,是非共享的,不能够被代理服务器缓存。

缓存计谋

可认为不一致类型的财富文件定制分裂的缓存计谋,如下图:

HTML文件必须保障新型,由此定义成no-cache,那样每便请求都会评释该HTML文件是或不是最新

JS和CSS文件因为时常会被改变,因而文件名嵌入指纹码(也足以是版本号或时刻戳)。每回修改文件后文件名均不一致,相当于HTML里加载不一样的文本,强制用户下载最新版。由于文件名里嵌入了指纹码,能够放心大胆地将max-age设置一年。

JS里标志为private,因为JS里只怕会含有部分私人数据。

图片因为不常变,所以文件名不必包涵指纹码,能够依据供给设置max-age

末尾合营ETag能够使得缓存机制更迅捷。

5.no-cache强制全部缓存了该响应的用户,在选用已缓存的数量前,发送带验证器的乞请到服务器。不是字面意思上的不缓存。

6.no-store禁止缓存,每便请求都要向服务重视新获取数据。

商业事务缓存

缓存的财富到期了,并不意味着财富内容发生了改换,假使和服务器上的财富未有距离,实际上并完全没有供给再一次呼吁。客户端和劳务器端通过某种验证机制验证当前伏乞能源是不是可以使用缓存。

浏览器第壹次呼吁数据今后会将数据和响应尾部的缓存标记存款和储蓄起来。再一次恳请时会带上存款和储蓄的头顶字段,服务器端验证是还是不是可用。假若回到
30肆 Not
Modified,代表能源未有产生改变能够行使缓存的数目,获取新的晚点时间。反之重临200 就一定于重新请求了一回能源并替换旧财富。

Last-modified/If-Modified-Since

Last-modified:
服务器端财富的末尾修改时间,响应尾部会带上这些标志。第壹次呼吁之后,浏览器记录这一个日子,再度伸手时,请求尾部带上
If-Modified-Since 即为此前记录下的时日。服务器端收到带 If-Modified-Since
的央求后会去和能源的最后修改时间比较。若修改过就赶回最新能源,状态码
200,若未有改换过则赶回 30肆。

注意:尽管响应头中有 Last-modified 而从不 Expire 或 Cache-Control
时,浏览器会有和睦的算法来推算出贰个日子缓存该文件多短时间,分歧浏览器得出的年华不一致,所以
Last-modified 要记得同盟 Expires/Cache-Control 使用。

Etag/If-None-Match

由服务器端上扭转的壹段 hash 字符串,第二遍呼吁时响应头带上 ETag:
abcd,之后的伸手中带上 If-None-Match: abcd,服务器检查 ETag,重返 30四 或
200。

至于 last-modified 和 Etag 差异,已经有无数人总计过了:

一些服务器不能够确切得到能源的末梢修改时间,那样就不可能通过最后修改时间判断能源是不是更新。

Last-modified 只可以准确到秒。

一些能源的尾声修改时间转移了,可是内容没改变,使用 Last-modified
看不出内容从未改造。

Etag 的精度比 Last-modified
高,属于强验证,要求能源字节等第的同样,优先级高。假使服务器端有提供
ETag 的话,必须先对 ETag 举行 Conditional Request。

注意:实际使用 ETag/Last-modified
要注意保持一致性,做负载均衡和反向代理的话恐怕会油不过生不均等的情形。总计ETag 也是内需占用财富的,如若改动不是过分频仍,看本人的急需用
Cache-Control 是还是不是足以满足。


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图