缓存(Cache)是计算机领域里的一个重要概念,我们日常使用也经常提到,只要学习了计算机,就无法避开这个概念。
我们都知道,HTTP协议是我们这个请求方向服务器发起请求。获取资源。但是由于链路漫长,网络时延不可控,浏览器使用 HTTP 获取资源的成本较高。所以,非常有必要把“来之不易”的数据缓存起来,下次再请求的时候尽可能地复用。也就是说,这次成功获取的数据,在一段时间内,你再次去请求,就不用再请求一次了,本地已经缓存好,可以直接展现给你。
就像你平时缓存好的网页,打开总是特别流畅,图片视频都不需要再等它加载了。
这样,就可以避免多次请求 - 应答的通信成本,节约网络带宽,也可以加快响应速度。
HTTP的缓存流程其实非常复杂,但总的来说就是:
1.浏览器发现缓存无数据,于是发送请求,向服务器获取资源;
2.服务器响应请求,返回资源,同时标记资源的有效期;
3.浏览器缓存资源,等待下次重用。
此文章为2月Day19学习笔记,内容来源于极客时间《透视HTTP协议》,强烈推荐该课程!