1.什么是浏览器缓存?
浏览器和服务器的通信方式是应答模式。
浏览器想得到数据,需要发送http请求给服务器,服务器响应该请求并返回结果。
如果每一次浏览器都重新去请求服务器,那么服务器的压力也会很大。
而浏览器缓存呢,是把一个请求过的资源拷贝一份副本进行存储,当再次请求这个资源的时候,根据缓存机制决定直接从存储位置用这个副本响应请求、不去再次请求服务器,还是再次重新请求服务器。
2.浏览器缓存的好处是什么?(为什么使用缓存?)
- 加快页面打开速度
- 降低服务器压力
- 减少网络带宽消耗(当缓存副本被使用时,只会产生极小的网络流量,可以有效的降低运营成本。)
-
.实际场景中的缓存策略应用
- 1.频繁变动的资源:将Cache-Control字段设置为no-cache,表示每次请求都要验证资源的有效性
2.不常变化的资源:Cache-Control: max-age=31536000,将过期时间设置为1年。其实实际上在发送请求的时候会在路径中添加hash来更改url,发起新的请求。
3.输入url,回车:按照整个缓存机制进行,先走强缓存,再走协商缓存。
4.浏览器点击刷新按钮或者按F5刷新:发送的请求头带有:Cache-Control:max-age=0,表示不走强制缓存这条路,可以走协商缓存向服务器发起数据请求。
5.ctrl+F5强制刷新:发送的请求头带有Cache-Control:no-cache ,表示不走缓存这条路。直接向服务器发送新的请求。
6.浏览器的前进,后退,跳转是直接从缓存里取数据。