05-04 HTTP 缓存:为什么网页有时不用重新下载
05-04 HTTP缓存 像把常用文件放在抽屉里。能不问服务器就不问,能少下载就少下载。
一、缓存解决什么
网络请求有延迟,服务器也有压力。图片、JS、CSS 这类不常变的资源,缓存起来能大幅提速。
二、强缓存
如果服务器告诉浏览器这个资源在一段时间内有效,浏览器可以直接用本地副本。像保质期内的食品,不用每次问厂家。
三、协商缓存
如果不确定是否过期,浏览器会问服务器:我手上这个版本还能用吗?服务器可以回 304,表示没变,继续用本地缓存。
四、和 CDN
05-07 CDN 也会缓存内容,只是缓存位置从你的浏览器变成离用户更近的边缘节点。
一句话总结
缓存的本质是少走远路:能本地用就本地用,能边缘用就边缘用。