Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【最佳实践】巡检项:内容分发网络(CDN)未配置缓存规则

【最佳实践】巡检项:内容分发网络(CDN)未配置缓存规则

原创
作者头像
cathyzhu
修改于 2022-04-28 12:50:35
修改于 2022-04-28 12:50:35
9050
举报
文章被收录于专栏:腾讯云顾问腾讯云顾问

问题描述

缓存是CDN提供的最重要的一个功能, 终端用户仅需要访问最近的CDN节点即可获取静态内容, 并缓解源站的压力, 提升终端用户的访问体验。 所以我们建议接入CDN的域名,都需要根据业务的实际情况,设置缓存策略; 如果不设置任何缓存策略,会降低命中率,增大回源压力, 减少使用CDN的收益。

解决方案

腾讯提供了动态加速ECDN和静态加速CDN两种解决方案。基于优化效果及成本考虑, 建议用户根据业务情况,把服务进行动静分离, 分别进行加速。CDN节点的静态缓存对象有如下3种:

•静态资源缓存:图像,文本,视频等非动态产生的资源

•访问头部缓存:保持源站回源头部和缓存服务器服务头一致

•状态码缓存:缓存非200的状态码,并由CDN 节点直接响应,减轻源站压力。

其中『静态资源缓存』是CDN发挥作用的最重要的功能,建议客户按业务需求设置。对于静态资源缓存控制主要有2个方面:

  1. URL缓存键规则配置
  2. 静态资源节点缓存时间

1.查看静态资源缓存配置(缓存键规则, 节点缓存过期配置)

点击『域名管理』--》选中『缓存配置』tab页面, 其中"缓存键规则配置"就是控制什么样的URL进行缓存, "节点缓存过期配置"用来控制这些资源在CDN节点上的缓存时间。

静态资源缓存控制配置
静态资源缓存控制配置

2.URL缓存键规则配置

缓存键规则配置
缓存键规则配置

url缓存规则配置有3个要素

  • 类型+内容
  • 忽略参数(不忽略,全忽略,保留指定参数)
  • 忽略大小写(当前固定否,暂不支持改动,资源 URL 路径中大小写差异与资源内容有关,则可关闭忽略大小写配置)

忽略参数设置建议:

  • 用户通过 URL 进行资源访问时,可能会携带一些具有特殊作用的参数,对资源进行区分。这种场景下需要选择“不忽略”,由完整的 URL 作为缓存键
  • 如果参数对区分资源没有作用, 比如在音视频场景下,若使用时间戳签名参数来进行访问认证。这种场景下需要选择“全部忽略”,由“?”之前的链接作为缓存键。节点仅缓存一份资源,即使时间戳签名不断变化,通过签名校验后可直接命中缓存

配置指南及相关的配置约束详情见配置约束

3.CDN缓存过期时间配置

接入CDN以后,默认情况下会自动添加一个缓存的默认规则, 但这个不一定符合业务需求, 业务可以删除默认规则,自动添加符合自己业务情况的配置

缓存时间配置
缓存时间配置

节点缓存过期时间配置有2个要素

  1. 类型+内容
  2. 缓存选项(缓存,遵循源站,不缓存)

CDN缓存过期时间配置支持基础模式和高级模式,基础模式里只能设置缓存的时间,高级模式里的缓存选项还可以设置不缓存或遵循源站。存量若为节点缓存过期配置(旧)(即基础模式),按高级模式配置提交后将全面升级,不可恢复至原基础模式。

选项1:缓存

这里注意有一个『强制缓存』选项。

  • 若“强制缓存”选择“是”,则 CDN 节点缓存资源的时间按照此处配置的时间。
  • 若“强制缓存”选择“否”且源站的 Cache-Control 字段为 no-cache/no-store/private,即使配置了缓存时间,CDN 节点也不缓存资源。
缓存
缓存

选项2:遵循源站缓存

如果选择遵循源站的缓存,并且源站返回的Response Header中有Cache-Control 则:

  • 若 Cache-Control 字段为 max-age,CDN 节点缓存资源的时间按照 max-age 值。
  • 若 Cache-Control 字段为 no-cache/no-store/private,CDN 节点不缓存资源。

如果选择遵循源站的缓存,并且源站返回的Response Header中没有Cache-Control或Expires字段,并且没有开启启发式缓存,则CDN 节点不缓存资源。

如果选择遵循源站的缓存,并且源站返回的Response Header中没有Cache-Control或Expires字段,并且开启启发式缓存,则按照启发式缓存的规则进行缓存。

遵循源站缓存
遵循源站缓存

启发式缓存默认配置:如果源站响应头存在 Last-Modified,则默认缓存时间=(当前时间 - Last-Modified)* 0.1,如果源站响应头不存在 Last-Modified,则默认缓存时间为600s。

启发式缓存自定义策略:支持您自定义缓存时间

选项3:不缓存

配置了不缓存,则不缓存

不缓存
不缓存

注意事项

  1. 目前缓存有文件大小限制:32G 以内。若超过此限制,将无法正常缓存,会回源获取资源。
  2. 若未配置任何规则或请求未命中配置的规则时,默认遵循以下平台策略:
  • 当用户请求您某一业务资源时,若源站对应的 HTTP Response Header 中存在 Cache-Control 字段,则遵循该 Cache-Control 。
  • 若源站对应的 HTTP Response Header 中无 Cache-Control 字段,则:CDN 节点默认对该资源缓存600s。

更多关于节点缓存的配置约束见官方介绍节点缓存配置

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【最佳实践】巡检项:内容分发网络(CDN)缓存命中率
缓存命中率指的是流量命中率,可通过控制台实时监控指标查看,反映的是命中缓存的流量与整体流量的比率。对于静态文件加速来说,如果缓存命中率偏低,一方面会造成源站压力及成本较大,另一方面也会影响访问质量。我们可以通过一些合理的设置优化缓存命中率。
陈志杰
2022/04/12
1K0
【最佳实践】巡检项:内容分发网络(CDN)开启URL鉴权
一般情况下,在 CDN 上分发的内容默认为公开资源,用户拿到 URL 后均可进行访问,如果不进行任何形式的鉴权,就可能会被非法站点恶意盗刷盗用,产生损失。我们特别推荐相关盗刷敏感的业务一定开启url鉴权,防止非法网站盗用。
cathyzhu
2022/04/22
1.6K0
【 CDN 最佳实践】CDN 命中率优化思路
CDN 在静态资源的加速场景中是将静态资源缓存在距离客户端较近的CDN 节点上,然后客户端访问该资源即可通过较短的链路直接从缓存中获取资源,而避免再通过较长的链路回源获取静态资源。因此 CDN的缓存命中率的高低直接影响客户体验,而保证较高的命中率也成为了站长的核心命题。在本文中我们就一起探讨 CDN 缓存命中率的概念、影响因素以及优化策略。
java思维导图
2018/11/08
3.3K0
【最佳实践】巡检项:内容分发网络(CDN)COS源跨域一致性
在CDN源站是COS的场景下,如果COS服务配置了跨域策略, CDN没有配置相关的跨域策略, 那么当用户请求CDN时, 如果节点没有缓存,则发起回源。 节点会缓存源站返回的跨域头部。 后续请求再次命中接点时,会直接返回缓存的跨域头, 这样可能会出现返回跨域头信息不匹配,造成的跨域错误。
cathyzhu
2022/04/27
9910
【最佳实践】巡检项:内容分发网络(CDN)预热容量
域名接入CDN后,初始状态下,加速节点上无任何域名资源缓存,当用户请求至 CDN 加速节点时,需要回源拉取资源同时根据策略进行缓存。腾讯云 CDN 提供资源预热功能,无需用户请求触发,通过在 CDN 控制台提交资源列表,将指定资源加载至加速节点。
cathyzhu
2022/04/25
1.2K0
【最佳实践】巡检项:内容分发网络(CDN)HTTPS开启
接入CDN以后就可以采用HTTP访问,出于安全考虑,我们建议用户均开启HTTPS加强安全防护 。HTTPS 指超文本传输安全协议(Hypertext Transfer Protocol Secure),是一种在 HTTP 协议基础上进行传输加密的安全协议,能够有效保障数据传输安全。配置 HTTPS 时,需要提供域名对应的证书,将其部署在全网 CDN 节点,实现全网数据加密传输功能。
cathyzhu
2022/04/22
2.5K0
前端缓存技术概述
学过Java,会知道在Integer的自动装箱中 [-128, 127] 这个范围中的转换会有些特殊的表现,稍加研究源码,会知道这是因为Integer中的缓存类有关(该缓存类会使用数组存储-128, 127范围内的常量)。当然,在实际开发中,可能存在Redis缓存,框架缓存等。
贪婪的君子
2020/08/05
1.6K0
前端缓存技术概述
影响命中率的因素及优化策略
CDN 在静态资源的加速场景中是将资源缓存在距离客户端较近的CDN 节点上,客户端访问该资源可以直接获取CDN节点的缓存资源,避免再通过较长的链路回源获取。因此 CDN的缓存命中率的高低直接影响客户体验。提高命中率还可以减少回源带宽,降低源站带宽成本,减小源站压力。下面我们一起探讨 CDN 缓存命中率的概念、影响因素以及优化策略。
v_psfwang
2020/11/06
1.4K0
影响命中率的因素及优化策略
【最佳实践】巡检项:内容分发网络(CDN)目录刷新容量
在源站点将新资源覆盖至同名旧资源后,为避免全网用户受节点缓存影响仍访问到旧的资源上,可通过提交对应资源的 URL/目录进行刷新,清空全网缓存后,全网用户可直接访问到最新资源。如果想批量处理某个目录下的所有的资源时,这时候可用目录刷新的方式。如果刷新配额不够,可以酌情分目录刷新或提升目录刷新配额。
cathyzhu
2022/04/24
2.2K0
HTTP 缓存技术
缓存技术出现在HTTP1.1当中,目的是尽可能减少对于服务器进行请求。为了实现缓存技术,HTTP设计者在头部字段增加针对缓存的头部字段。HTTP 缓存有两种方式,强制缓存和协商缓存。
阿东
2022/09/11
8400
通过 Node.js 小示例学习浏览器缓存策略
在后端为了加速服务的访问速度,通常可以使用 Memcached、Redis 做数据缓存,那么在浏览器端又有哪些缓存策略呢?
五月君
2020/09/17
1.4K0
浏览器 & HTTP 缓存策略
强缓存是指在缓存期间,请求不会发送到服务器,浏览器直接返回缓存结果,需要设置 Header:
leocoder
2020/03/27
6080
一文搞懂浏览器缓存策略
编者按:本文作者高峰 http://verymuch.site/,奇舞团前端工程师,W3C性能工作组成员,同时在WOT工作组学习。
coder_koala
2020/03/05
1.2K0
一文搞懂浏览器缓存策略
为什么使用 CDN 内容分发网络?
当用户直接访问源站中的静态内容时,可能面临的体验问题: 客户离服务器越远,访问速度越慢。 客户数量越多,网络带宽费用越高。 跨境用户访问体验较差,就近访问,CDN回源稳定。 多地域运营商线路绕行,访问时延高 CDN 如何改善您的网络体验: CDN 缓存内容后,用户仅需要访问就近的 CDN 节点即可获取静态内容。 缓解源站带宽压力,网络费用更低。 分布全球的跨境节点提升跨境访问体验。 CDN 推荐使用场景: 网站静态资源加速:适用于常用网站中的静态内容(门户网站,电商网站,UGC 社区等),如图片,视
TCS-F
2021/11/17
3K0
为什么使用 CDN 内容分发网络?
【最佳实践】巡检项:内容分发网络(CDN)IP 访问限频
对于有些业务,用户希望对业务资源的访问来源进行控制,防止恶意的用户盗刷场景。对于这种场景,我们推荐设置『IP访问限频配置』通过对单IP节点在每一秒钟的访问次数进行合理的阀值限制, 从而减少这种问题的发生。
cathyzhu
2022/03/31
1.6K0
节点缓存VS浏览器缓存
可根据实际业务场景设置合理的缓存策略,比如遵循源站、遵循CDN配置的缓存时间等,可针对不同的文件,或目录等灵活设置。在缓存时间内,CDN节点直接以缓存响应给客户端;若缓存过期,用户访问会触发节点回源校验文件是否更新。若文件缓存未过期,但源站更新了并希望用户立即访问到新文件,可提交刷新操作,强制清除CDN缓存,触发回源拉取。
mengmye
2021/06/01
1.3K0
前端本地缓存概况之浏览器缓存策略
一直以来,前端性能优化 都是前端程序员在业务开发过程中不得不考虑的一个点。前端同学也一直寄希望于服务器更大的吞吐量、更密集的cdn节点;更寄希望于浏览用户使用更优秀的浏览器及更大的带宽。。。然而随着上述几种情况一一被落实时,前端性能仍然没有达到一个让人满意的结果。。。
YP小站
2020/07/15
1.9K0
前端本地缓存概况之浏览器缓存策略
cdn内容分发保持源网站更新一致
众所周知,网络技术对于一个国家拥有着非常重大的作用,现如今我国投入了大量的科研经费在网络技术的发展中,其主要目的就是为了利用网络技术来造福百姓。目前大家熟知的cdn就是在普通网络技术之上编辑形成的一个新的虚拟网络,利用这个虚拟网络传输数据就会更加的轻松简单。但是大家在生活中同样也要学会如何刷新cdn。
受伤的辉狼
2023/04/23
7490
【最佳实践】巡检项:内容分发网络(CDN)URL刷新容量
当站点上存在违规资源(如涉黄、涉毒、涉赌)被发现时,删除源站资源后,由于节点缓存资源仍可被访问到,为维护网络环境,可通过 URL 刷新删除缓存资源,保证及时清理。 另外当源站资源发生变更, 为避免全网用户受节点缓存影响仍访问到旧的资源上,也可以通过URL刷新删除缓存资源。
cathyzhu
2022/04/24
2.5K0
浏览器缓存机制剖析
“缓存一直是前端优化的主战场,利用好缓存就成功了一半。本篇从HTTP请求和响应的头域入手,让你对浏览器缓存有个整体的概念。最终你会发现强缓存,协商缓存 和 启发式缓存是如此的简单。 ” 导读 浏览器对
CSDN技术头条
2018/02/12
1.4K0
浏览器缓存机制剖析
相关推荐
【最佳实践】巡检项:内容分发网络(CDN)缓存命中率
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档