• cdn缓存


    1:缓存是什么?

    首先。看看没有站点没有接入CDN时。用户浏览器与server是怎样交互的:
    这里写图片描写叙述

    假设中间加上一层CDN,那么用户浏览器与server的交互例如以下:
    这里写图片描写叙述

    client浏览器先检查是否有本地缓存是否过期。假设过期,则向CDN边缘节点发起请求,CDN边缘节点会检測用户请求数据的缓存是否过期。假设没有过期。则直接响应用户请求,此时一个完毕http请求结束;假设数据已经过期。那么CDN还须要向源站发出回源请求(back to the source request),来拉取最新的数据。

    2:CDN缓存

    浏览器本地缓存失效后。浏览器会向CDN边缘节点发起请求。相似浏览器缓存,CDN边缘节点也存在着一套缓存机制。

    3:CDN缓存缺点

    CDN的分流作用不仅降低了用户的訪问延时,也降低的源站的负载。但其缺点也非常明显:当站点更新时,假设CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会由于CDN边缘节点没有同步最新数据而导致用户訪问异常。

    4:CDN缓存策略

    CDN边缘节点缓存策略因服务商不同而不同。但一般都会遵循http标准协议,通过http响应头中的Cache-control: max-age的字段来设置CDN边缘节点数据缓存时间。

    当client向CDN节点请求数据时。CDN节点会推断缓存数据是否过期,若缓存数据并没有过期。则直接将缓存数据返回给client。否则。CDN节点就会向源站发出回源请求,从源站拉取最新数据,更新本地缓存,并将最新数据返回给client。

    CDN服务商通常会提供基于文件后缀、文件夹多个维度来指定CDN缓存时间,为用户提供更精细化的缓存管理。

    CDN缓存时间会对“回源率”产生直接的影响。

    若CDN缓存时间较短,CDN边缘节点上的数据会常常失效,导致频繁回源,添加了源站的负载,同一时候也增大的訪问延时。若CDN缓存时间太长,会带来数据更新时间慢的问题。

    开发人员须要增对特定的业务。来做特定的数据缓存时间管理

    5:CDN缓存刷新

    CDN边缘节点对开发人员是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发人员能够通过CDN服务商提供的“刷新缓存”接口来达到清理CDN边缘节点缓存的目的。

    这样开发人员在更新数据后,能够使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,保证client在訪问时。拉取到最新的数据。

  • 相关阅读:
    Codeforces 897 B.Chtholly's request-思维题(处理前一半)
    Codeforces 897 A.Scarborough Fair-字符替换
    51nod 1649.齐头并进-最短路(Dijkstra)
    牛客网 牛客练习赛7 B.购物-STL(priority_queue)
    牛客网 牛客练习赛7 A.骰子的游戏
    hdu 4737 A Bit Fun 尺取法
    Educational Codeforces Round 15 D. Road to Post Office 数学
    Educational Codeforces Round 15 A, B , C 暴力 , map , 二分
    tyvj 1402 乌龟棋 dp
    vijos 1057 盖房子 dp 最大子正方形
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7098246.html
Copyright © 2020-2023  润新知