Cloudflare:什么是缓存控制?

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Cloudflare网络

小提示:您能找到这篇{Cloudflare:什么是缓存控制?}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Cloudflare:什么是缓存控制?内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">什么是缓存控制?

< font-size: 16px;">缓存控制是一种 HTTP 标头,指定浏览器的缓存行为。简而言之,当某人访问网站时,其浏览器将在称为缓存的存储中保存某些资源,例如图像和网站数据。当该用户重新访问同一网站时,缓存控制设置的规则会确定该用户是否从本地缓存中加载这些资源,或者浏览器是否必须向服务器发送新资源的请求。若要更深入地了解缓存控制,需要对浏览器缓存和 HTTP 标头有基本的认识。

< font-size: 16px;">什么是浏览器缓存?

< font-size: 16px;">如上文所述,浏览器缓存是指 Web 浏览器保存网站资源,以便不必再次从服务器获取它们。例如,网站上的背景图像可以保存到本地缓存中,这样在用户第二次访问该页面时,该图像将从用户的本地文件加载,页面就能以更快的速度加载加。



< font-size: 16px;">浏览器只会在指定的时间段里保留这些资源,这称为生存时间(TTL)。如果 TTL 过期后用户请求缓存的资源,浏览器必须再次与服务器联系并下载该资源的新副本。浏览器和 Web 服务器如何知道每一资源的 TTL?这是 HTTP 标头的用武之地。

< font-size: 16px;">什么是 HTTP 标头?

< font-size: 16px;">超文本传输协议(HTTP)概述了万维网上通信的语法,此通信由客户端对服务器的请求和服务器对客户端的响应构成。这些 HTTP 请求和响应各自带有一系列称为标头的键值对。

< font-size: 16px;">这些标头包含有关每次通信的许多重要信息。例如,请求标头通常包含:

< font-size: 16px;">有关请求了什么资源的信息

< font-size: 16px;">客户端正在使用哪一浏览器

< font-size: 16px;">客户端会接受哪些数据格式

< font-size: 16px;">响应标头通常包含以下信息:国外食品安全危机公关案例

< font-size: 16px;">请求是否成功得到满足

< font-size: 16px;">响应主体中任何资源的语言和格式。

< font-size: 16px;">缓存控制标头可以出现在 HTTP 请求和响应中。

< font-size: 16px;">什么是缓存控制标头?

< font-size: 16px;">标头由通过冒号分隔的键值对构成。对于缓存控制,“键”或冒号左侧的部分始终为“cache-control”。“值”是在冒号右侧的内容,可以有一个或几个逗号分隔的值来用于缓存控制。

< font-size: 16px;">

< font-size: 16px;">这些值称为指令,指定谁可以缓存资源,以及在必须更新资源之前这些资源可以缓存的时间。下面我们介绍一些最常见的缓存控制指令:

< font-size: 16px;">cache-control: private

< font-size: 16px;">具有“private”指令的响应只能由客户端缓存,不能由中间代理(例如 CDN或代理)缓存。这些资源通常是包含私密数据的资源,例如显示用户个人信息的网站。

< font-size: 16px;">cache-control: public

< font-size: 16px;">相反,“public”指令表示资源可以由任何缓存存储。

< font-size: 16px;">cache-control: no-store

< font-size: 16px;">带有“no-store”指令的响应无法缓存到任何位置,也永不缓存。也就是说,用户每次请求此数据时,都必须将请求发送到源站服务器以获取新副本。此指令通常保留给包含极其敏感数据的资源,例如银行帐户信息。

< font-size: 16px;">cache-control: no-cache

< font-size: 16px;">此指令表示,只有先检查有无更新版本后,才可使用所请求资源的缓存版本。这通常使用 ETag 来完成。

< font-size: 16px;">ETag 是另一种 HTTP 标头,其中包含一个特定于请求之时资源版本的令牌。每当资源更新时,此令牌会源站服务器上更改。

< font-size: 16px;">每次用户返回到具有“no-cache”资源的页面时,客户端都必须连接到源站服务器,并将已缓存资源上的 ETag 与服务器上的 ETag 进行比较。如果 ETag 相同,则向用户提供缓存的资源。否则表示资源已经更新,客户端需要下载新版本以提供给用户。此过程可确保用户始终获得资源的最新版本,并且无需进行不必要的下载。

< font-size: 16px;">cache-control: max-age

< font-size: 16px;">此指令指定了生存时间,也就是资源在下载后可以从缓存服务多少秒钟。例如,如果将最大期限设置为 1800,则首次从服务器请求资源后的 1800 秒(30 分钟)内,后续请求都会向用户提供该资源的缓存版本。如果 30 分钟后用户再次请求资源,则客户端必须向源站服务器请求新副本。

< font-size: 16px;">“s-maxage”指令专门用于 CDN 等共享缓存,指定这些共享缓存能够在多长时间内持续从缓存中提供资源。该指令会湖北宣传片制作覆盖各个客户端的“max-age”指令。

< font-size: 16px;">为什么缓存控制很重要?



< font-size: 16px;">浏览器缓存是一种既可以保留资源又能改善 Internet 上用户体验的好方法,但若没有缓存控制,它会非常脆弱。各个站点上的每一资源都受到相同缓存规则的约束;也就是说,敏感信息和公共信息会以相同的方式进行缓株洲危机公关 咨询时代达存,频繁更新的资源也与很少更改的资源缓存同样的时间。

< font-size: 16px;">缓存控制可以增加灵活性,让浏览器缓存真正发挥作用,使开发人员能够决定如何缓存每种资源。它还允许开发人员为中介设置特殊规则,这就是为什么使用 CDN 的网站(例如Cloudflare CDN )的性能一般要胜于不使用 CDN 的网站。

Cloudflare:什么是缓存控制?

上一篇:Wish提前放款常见问题解答
下一篇:敦煌网:如何选择产品类目


版权声明:以上主题为“Cloudflare:什么是缓存控制?"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    Cloudflare:什么是缓存控制?
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“Cloudflare:什么是缓存控制?”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Cloudflare:什么是缓存控制?的相关事宜。

关键词:Cloudflare:什么是缓存控制

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号