浏览器缓存流程图
2024-11-15 09:31:23 0 举报
浏览器缓存机制流程图
作者其他创作
大纲/内容
(请求头与响应头相同)
(请求头与响应头不相同)
disk cache
Expires
水印
硬盘中的缓存,可以跨会话甚至跨站点使用。浏览器根据HTTP请求来判断哪些资源可以缓存以及哪些资源是可以使用缓存的。
使用相对时间。常见属性为max-age,no-cache与no-store。当缓存存在的时间超过max-age的值,或者存在no-cache的属性,就会进行协商缓存。
强缓存
响应状态码为200
响应头是Etag,代表文件的特殊标识,当文件发生改变时Etag就会随之改变。浏览器将资源和这个值一起存入缓存中。下次需要用到资源时,使用If-None-Match请求头将存储的文件标识值发送给服务器,服务器进行对比,如果相同就返回304。
响应状态码为304
Etag & If-None-Match
memory cache
Cache-control
Last-Modified & If-Modified-Since
不命中协商缓存(即响应状态码不是304)也属于这一步。服务器成功响应并返回资源后,浏览器继续根据HTTP请求缓存资源。
加载页面
浏览器缓存分类
在没关闭Tab前,浏览器自动在内存中进行缓存,全部由浏览器自己控制操作。在当前页面F5刷新利用的就是memory cache
使用绝对时间,会受到时差以及用户电脑时间的影响。且时间格式要求较为严格。值只有一种,就是缓存过期的时间。此头部信息逐步被Cache-control取代。
发送HTTP请求
响应头是Last-Modofied,服务器告知客户端此资源最后被修改的时间。浏览器将资源和这个值一起存入缓存中。下次需要用到资源时,使用If-Modified-Since请求头将存储的时间发送给服务器,服务器对比数据库中的时间,如果相同就返回304。
协商缓存
0 条评论
下一页