前端基础:协商缓存

一、协商缓存

也叫对比缓存。
在这里插入图片描述
在这里插入图片描述
当再次请求的时候,就不能像第一次一样全部再返回一遍,需要缓存提升效率了。
再次请求的时候,浏览器不仅将请求发送过去,还同时将第一次服务端返回的资源标带上发给服务端。
因为资源标识本来就是服务端的,所以,服务端会根据这个资源标识来对比一下,是不是最新的,如果是最新的,就返回304状态码,浏览器就从本地缓存里拿资源,否则就返回200和新的资源以及新的资源标识。
在这里插入图片描述

二、协商缓存的资源标识

  1. Last-Modified: 资源上次修改的时间
  2. ETag: 资源对应的唯一字符串

在这里插入图片描述

我们先以Last-Modified这个资源标识为例,首次请求,返回一个Last-Modified时间,再次请求的时候,在浏览器请求头里带一个If-Modified-Since,记得名字改了一下。
服务器对比浏览器请求头里的If-Modified-Since和自己的Last-Modified对比,如果是一样的,就返回304,让浏览器使用缓存,如果改了,就返回200、新的资源以及Last-Modified。
在这里插入图片描述
下面讲ETag
在这里插入图片描述
在这里插入图片描述
浏览器发送If-None-Match和服务端的ETag一样,就304,否则200重新返回资源和新的ETag。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GY_U_YG/article/details/125461920