php做网站有哪些优点,wordpress倒计时代码,月嫂网站建设方案,个人域名可以参考一下#xff1a;浏览器缓存和 CDN 在前端的落地
事故记录#xff1a;
前端发版时存在新旧两个容器#xff0c;在资源替换的间隙#xff0c;用户请求到的肯定是新容器的html文件#xff0c;但是根据新容器的html向新静态资源发起请求#xff0c;此时旧容器还没有…可以参考一下浏览器缓存和 CDN 在前端的落地
事故记录
前端发版时存在新旧两个容器在资源替换的间隙用户请求到的肯定是新容器的html文件但是根据新容器的html向新静态资源发起请求此时旧容器还没有完全被替换在部分边缘节点中仍然存在旧容器向新资源发起的请求到了旧容器内自然就失败了返回404 not found。 但是问题是请求失败后静态资源返回404却被CDN缓存了导致用户一直刷新向新资源请求哪怕节点已经被新容器替换了CDN还是以为之前已经请求成功了不会回源一直返回缓存的404。
解决办法
采用灰度上线根本解决CDN清除缓存。快速解决先上线静态资源再把HTML上线。以及 针对非正常的状态码HTTP Status 200应该设置不缓存。针对本地缓存的静态资源通过完全更换打包资源名称或者更新nextjs的静态资源前缀修改为一个OSS链接然后将静态资源手动部署到OSS上新上线之后的新版本就直接走OSS链接之前的404资源失效。