📄 一句话概括
缓存服务器站在客户端与源站之间:请求先问它,命中直接回、未命中去源站取一份存下再回——本质是代理,靠复制内容来分担负载。
📝 本节和前面几节的关系
5.3 用多台服务器分担;5.4 换思路——把内容复制到近处。
一、位置与角色
缓存服务器站在客户端与 Web 服务器之间: 命中:直接回,源站毫无感知; 未命中:去源站取一份,存下来再回。
二、本质
它是代理——代替别人去访问; 5.4.3~5.4.5 会把代理家族讲全。
三、动手 Demo:缓存服务器的位置
缓存服务器站在客户端和 Web 服务器中间:
for s in ['浏览器 -> 缓存服务器 -> Web 服务器(源站)']:
print(s)
print()
print('命中缓存:直接回,源站一根毫毛都没动')
print('未命中:去源站取一份,存下来再回')
实跑输出:
--------------------------------------------------------------------
缓存服务器的位置
--------------------------------------------------------------------
缓存服务器站在客户端和 Web 服务器中间:
浏览器 -> 缓存服务器 -> Web 服务器(源站)
命中缓存:直接回,源站一根毫毛都没动
未命中:去源站取一份,存下来再回
它的本质是**代理**——代替别人去访问。
适合缓存的:静态页面、图片、下载文件; 不适合的:每次都变的内容(搜索结果、订单页)。
30 秒实验
- 打开一个网站看响应头里有没有缓存命中的痕迹。
- 列举三类适合缓存的内容。
- 想想为什么订单页不适合缓存。
常见误区
- 以为缓存服务器是另一台源站——它是复制内容的中间人。
- 以为所有内容都能缓存——动态内容不行。
自测三问(点开对答案)
1. 缓存服务器站哪? —— 客户端与源站之间。 2. 命中与未命中各怎么办? —— 直接回;去源站取并存储。 3. 它的本质? —— 代理。- ☐ 下一节(5.4.2 缓存服务器通过更新时间管理内容)
相关笔记
- 缓存服务器通过更新时间管理内容 — 怕旧怎么办
- 5.7-5.9 延伸三岗位(FTP、IMAP、Proxy) — Proxy 的服务器视角
- 🔌 网络是怎样连接的 · 索引