浏览器缓存问题

浏览器缓存分为强缓存和协商缓存。当客户端请求某个资源时,获取缓存的流程如下:

先根据这个资源的一些 http header 判断它是否命中强缓存,如果命中,则直接从本地获取缓存资源,不会发请求到服务器;

当强缓存没有命中时,客户端会发送请求到服务器,服务器通过另一些request header验证这个资源是否命中协商缓存,称为http再验证,如果命中,服务器将请求返回,但不返回资源,而是告诉客户端直接从缓存中获取,客户端收到返回后就会从缓存中获取资源;

强缓存和协商缓存共同之处在于,如果命中缓存,服务器都不会返回资源;

区别是,强缓存不对发送请求到服务器,但协商缓存会。

当协商缓存也没命中时,服务器就会将资源发送回客户端。

当 ctrl+f5 强制刷新网页时,直接从服务器加载,跳过强缓存和协商缓存;

当 f5 刷新网页时,跳过强缓存,但是会检查协商缓存;

你可能感兴趣的:(浏览器缓存问题)