一、为什么要缓存:
可以减少网络请求的次数和数量,降低网络延迟,加速页面加载,提高用户体验等
二、缓存机制:强缓存优先级高于协商缓存
强制缓存:服务器端认为请求资源应该被缓存,则在响应头部设置cache-control:max-age=(一年时间),如果max-age没有过期,则下次请求直接在缓存中获取资源
cache-control:no-store表示不使用强制缓存
no-cache表示缓存需要重新验证是否过期
协商缓存(对比缓存):一种服务端的缓存策略。第一次请求,服务器端认为请求资源可以被缓存,则返回资源和资源的标识,浏览器将其存储在本地缓存,下一次访问时发送请求以及资源标识,服务器对比资源标识对应资源是否为对应服务器资源最新版本,如果是服务器返回304状态码,直接从缓存中获取资源,如果不是最新资源,服务器返回200状态码,最新资源以及最新资源的标识
资源标识:last-modified/etag
优先使用etag,原因:1.last-modified只精确到秒,可能会造成误差2.对于不同时间重复生成的相同文件,last-modified无法较好的识别,etag可以
三、缓存过程
今天学习了缓存的过程,很开心,发一篇博客纪念一下。如果csdn编辑器能更好用,或能直接添加思维导图就好了!当然,以上内容为个人学习见解,如果不恰当的地方欢迎批评指正,