HTTP 缓存理解
发布日期:2021-05-08 00:10:29 浏览次数:22 分类:精选文章

本文共 483 字,大约阅读时间需要 1 分钟。

HTTP 缓存主要是浏览器端缓存 GET 方式的资源文件, 分为强缓存和协商缓存。强缓存指的是本地缓存未过期(根据 Cache-Controlmax-age 设定),此时浏览器直接从本地缓存读取资源文件。本地缓存又分为内存缓存(memory cache)和硬盘缓存(disk cache),内存缓存速度更快,但生命周期与浏览器标签页相关;硬盘缓存虽然速度较慢,但在标签页关闭后仍然可用。

当本地缓存过期时,浏览器会发送携带 If-Non-Match 请求头的请求,请求头的值取自响应头中的 ETag。服务器接收到该请求后,会根据 ETag 比对,如果未修改,会返回 Status Code 304 Not Modified,无需返回响应体;如果已修改,则返回 200 状态码和完整的响应体。浏览器接收到响应后会更新本地文件的过期时间。

内存缓存和硬盘缓存的主要区别在于存储介质和使用场景。内存缓存以内存为介质,速度更快,且生命周期直接跟随标签页的创建和关闭。而硬盘缓存则以硬盘为存储介质,虽然速度较慢,但在标签页关闭后仍然可以使用硬盘缓存,但无法使用内存缓存。

上一篇:HTTP 常见状态码
下一篇:@Autowired 和 @Resource 区别

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月19日 09时59分11秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章