jsDelivr 提供的全球 CDN 加速,CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。但其缺点也很明显:当网站更新时,如果CDN节点上数据没有及时更新,即便用户再浏览器使用Ctrl +F5的方式使浏览器端的缓存失效,也会因为CDN边缘节点没有同步最新数据而导致用户端未能及时更新。
CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者可以通过CDN服务商提供的“刷新缓存”接口来达到清理CDN边缘节点缓存的目的。这样开发者在更新数据后,可以使用“刷新缓存”功能来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。
jsDelivr 缓存刷新方式#
对于 jsDelivr,缓存刷新的方式也很简单,只需将想刷新的链接的开头的
https://cdn.jsdelivr.net/...
替换成
https://purge.jsdelivr.net/...
即可实时刷新。刷新成功后,浏览器会返回缓存刷新成功的信息,如下:
{“fastly”:[{“status”:”ok”,”id”:”20729-1612194818-1032774″},{“status”:”ok”,”id”:”20772-1612459680-360210″},{“status”:”ok”,”id”:”20756-1612456493-389775″},{“status”:”ok”,”id”:”20776-1612458100-422166″},{“status”:”ok”,”id”:”20771-1612446356-524130″},{“status”:”ok”,”id”:”20725-1612202163-1012021″},{“status”:”ok”,”id”:”20741-1612201887-1047722″},{“status”:”ok”,”id”:”20749-1612196515-1025543″},{“status”:”ok”,”id”:”20733-1612198481-1035382″},{“status”:”ok”,”id”:”20759-1612442796-542227″}],”maxcdn”:{“code”:200},”cloudflare”:true,”quantil”:{“error”:”403 – "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<response>
PurgeQuotaExceeded
\n<message>You can add 0 more file purges today</message></response>"”,”body”:”<?xml version="1.0" encoding="UTF-8"?> <purge-urls> <version>1.0.0</version> <file-url>https://cdn.jsdelivr.net/gh/XXXXXX/</file-url></purge-urls>”}}
暂无评论内容