蓝盟IT小贴士,来喽!
为什么会有现金呢?
单纯从计算机的角度来说,比较抽象,看看实际的例子吧。 例如,我们通常喜欢把没看完的书放在书架上,把看完的书和没看完的书放在箱子里保存。
如果我们把所有的书都保存在箱子里,每次看书都会去箱子里找,所以很麻烦很花时间(这里的箱子可以认为是服务器)。
我们开始读新书的时候,第一次从箱子里拿出来,读了一半之后,我们直接放在书架上,下次读书的时候,直接从书架上拿出来,这里的书架就是我们下述的现金(现金仓库)。
对于缓存的乌龟
浏览器提出数据请求的过程就像是取上述书的过程。
在加载资源时,浏览器将确定请求头中的Expires和Cache-control是否命中强缓存,直接从缓存读取资源,不向服务器发出请求。
如果未命中强缓存,浏览器将验证资源是否命中协商缓存,如果命中,服务器将从缓存读取资源,而不返回该资源的数据。

如果两者都未命中,则直接从服务中加载资源。
HTTP缓存分类
如上所述,HTTP有“龟”,根据浏览器是否向服务器提出请求,可以分为强缓存和协商缓存。
强缓存是指不向服务发起请求的缓存,即本地强制缓存。 当浏览器尝试获取特定数据时,首先检查数据是否存在于本地缓存中,如果存在则直接在本地获取,如果不存在则向服务器请求该数据。
响应标头中的Expires字段表示当前返回的数据的缓存到期时间戳。 当浏览器发出请求时,将浏览器本地化的时间与此时间进行比较,以确定资源是否已过期。
但是,上述问题之一是如果手动变更计算机的时间则会发生问题,这也是HTTP1.0中存在的问题。
文/上海蓝盟 IT外包专家