CDN加速缓存控制技术

发布时间:2020-07-10 06:06:54   来源:网络
缓存控制是用于在客户端请求和服务器响应中指定浏览器缓存策略的HTTP标头。策略包括资源如何缓存,缓存的位置以及到期前的最大年龄(即生存时间)。缓存控制头被分解成指令,其中最常见的指令如下:


 
注明:来自google.com的HTTP响应标题示例
 
缓存控制:最大年龄
 
max-age请求指令以秒为单位定义资源的缓存副本过期所花费的时间。过期后浏览器必须通过向服务器发送另一个请求来刷新其资源版本。例如cache-control: max-age=120表示返回的资源有效期为120秒,之后浏览器必须请求更新的版本。
 
缓存控制:无缓存
 
no-cache指令意味着浏览器可能会缓存响应,但必须首先向原始服务器提交验证请求。
 
缓存控制:无存储
 
no-store指令意味着浏览器不允许缓存响应,并且每次请求时都必须将其从服务器中提取出来。此设置通常用于敏感数据如个人银行信息。
 
缓存控制:公共
 
公共响应指令表明资源可以被任何缓存缓存。
 
缓存控制:私有
 
私人回应指令指出资源是用户特定的它仍然可以被缓存,但只能在客户端设备上使用。例如标记为专用的网页响应可以由桌面浏览器缓存,但不能由内容递送网络(CDN)缓存。
 
除了缓存控制之外著名的HTTP缓存头还包括:
 
1.到期:此标头指定缓存资源到期的固定日期时间。例如Expires: Sat, 13 May 2017 07:00:00GMT表示缓存资源将于2017年5月13日格林尼治标准时间早上7点到期。当存在包含max-age指令的缓存控制标题时expires标题将被忽略。
 
2.ETag:响应标头根据标记标识服务内容的版本,引用中的一串字符,例如"675af34563dc-tr34",在修改资源后发生更改。如果在请求发出之前令牌没有改变,浏览器将继续使用其本地版本。
 
3.Vary:确定必须与缓存资源匹配才能被视为有效的响应的标头。例如头部Vary:Accept-Language, User-Agent指定每个用户代理和语言组合都必须存在缓存版本。
 
CDN和缓存控制:
 
各种缓存头可以使手动缓存管理压倒一切。CDN允许通过用户友好的仪表板进行粒度缓存策略管理,从而使您无需手动调整各个标头。除了简化缓存管理外CDN还使用代理增强了浏览器缓存过程。代理缓存使内容更贴近网站访问者,加速了本地存储资源的交付。这对浏览器尚未缓存网站内容的初次访问者尤其有用。更高级的CDN使用高级自动化技术(包括机器学习)来缓存动态生成的内容和资源。这可以优化您的缓存策略并进一步加快内容交付速度。
 
CDN互联专业提供国内外高防cdn加速服务
 
猜你喜欢