HTTP的场景实践:任选一个浏览器,对于其涉及的请求中的缓存策略展开具体分析
https://i-blog.csdnimg.cn/blog_migrate/513399ae1cd323520f2f947985c6af24.png" alt="" />
https://i-blog.csdnimg.cn/blog_migrate/298d0e8759103920f6db70b1eb72ddf0.png" alt="" />
https://i-blog.csdnimg.cn/blog_migrate/b6a70bf324a4f16059bd937b6938786d.png" alt="" />
1. 强缓存:
-
Cache-Control
用于指定缓存的最长有效时间。 -
Expires
用于指定资源过期的日期。
2. 协商缓存:
-
ETag
用于标识资源的唯一标识符,浏览器会将前一次请求时获得的ETag值发送到服务器,由服务器判断资源是否发生了变化。 -
Last-Modified
表示资源的最后修改时间,浏览器会将前一次请求时获得的最后修改时间发送到服务器,由服务器根据已有的最后修改时间决定是否返回资源内容。
3. HTTP/2缓存:
-
HTTP/2通过多路复用技术,在同个连接上同时传送多个请求和响应,减少了网络请求的延迟。
-
HTTP/2还支持服务器推送(Server Push)技术,服务器可以在浏览器请求之前主动将一些资源推送给浏览器,提前缓存这些资源。
4. Service Worker:
- Service Worker能够拦截网络请求并缓存响应,当用户离线时,可以从本地缓存中获取资源,提供离线浏览能力。
httpsiblogcsdnimgcnblog_migratea06289336493d506c1f6ead50d6df388png_30">https://i-blog.csdnimg.cn/blog_migrate/a06289336493d506c1f6ead50d6df388.png" alt="" />百度浏览器的缓存策略:
https://i-blog.csdnimg.cn/blog_migrate/e2616b390be0ce0211e5987f5ecc1ffa.png" alt="" />
https://i-blog.csdnimg.cn/blog_migrate/1a0285b1a8b6410d522d45721358019f.png" alt="" />
https://i-blog.csdnimg.cn/blog_migrate/1a05cf1319d6dfb79c58496d30302424.png" alt="" />