http缓存的方案总结
总结以下http缓存的几个方案
md5/hash缓存
不缓存主入口html,为静态文件添加MD5或者hash标识,解决浏览器无法跳过缓存过期时间主动感知文件变化的问题。
原理是:
每次更新的资源,资源名也更新为资源本名+hash/md5码
,而入口文件不设置缓存,每次请求都是最新,同时在入口文件更新资源名。因为资源名不同,浏览器会去请求新的,这样就保证了是最新资源。同时,每一个资源(除了入口文件,入口文件需要引用其他套接了hash/md5值得资源)都可以设置很长的过期时间,不会影响资源的更新。
通过这种方法,我们就可以从根本上解决过期时间没到浏览器无法主动请求服务器的问题。
webpack提供了webpack-md5-hash插件,可以帮助开发者在项目发布时自动修改文件标识。
设置过期时间+过期时询问是否更新
网上挺多文章了,不再转述
增加CDN(content delivery network 内容分发网络)缓存
依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术(较为官方的说明)。
----http缓存详解,http缓存推荐方案
加上cdn也可以有效减少请求时间和服务器压力
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构