浏览器缓存(Browser Cache)是指浏览器会将访问过的资源(如 HTML、CSS、JS、图片等)存储在本地,以便在后续请求时可以直接从缓存中获取,而不是重新向服务器请求。在 Web 开发中,浏览器缓存是一项至关重要的优化技术,它能够减少网络请求,提升页面加载速度,提高用户体验,同时降低服务器负载。
缓存机制主要通过 HTTP 头部控制,包括强缓存(Strong Cache)和协商缓存(Negotiated Cache)。强缓存会直接读取本地缓存,协商缓存则是与服务器协商读取。缓存未过期使用强缓存机制,过期了则使用协商缓存机制。
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryBorderColor': '#7C0000',
'lineColor': '#fff',
'tertiaryColor': '#fff',
'fontSize': '12px',
'max-width': '10000px'
}
}
}%%
graph TD;
A[浏览器请求资源] --> B{是否存在缓存}
B -- 否
no-store --> C[向服务器请求资源]
C --> D{决策返回
200 or 304?}
D -- 200 --> E[设置缓存信息
Last-Modified, ETag]
E --> F[使用资源]
D -- 304 --> G[更新缓存信息
Last-Modified, ETag]
G --> F
B -- 是 --> H{是否可直接使用}
H -- 否
no-cache --> I[获取验证信息
If-Modified-Since / If-None-Match]
I --> C
H -- 是 --> K{是否过期
expires/max-age/s-maxage}
K -- 是 --> I
K -- 否 --> L[从缓存中获取资源]
L --> F
(缓存控制流程图)
