什么是协商缓存?
什么是协商缓存?
协商缓存是一种 HTTP 缓存机制,通过在客户端和服务器之间进行通信,判断当前请求的资源在客户端是否过期,从而决定是否需要重新获取该资源。这种方式可以有效地减少网络传输和服务器负载,提高网站性能。
协商缓存主要分为两种方式:Last-Modified 和 ETag。
Last-Modified 方式将在响应头中添加一个 Last-Modified 字段,表示服务器上资源的最后修改时间。当客户端发送下一次请求时,会在请求头中添加一个 If-Modified-Since 字段,表示客户端上一次获取该资源的最后修改时间。服务器接收到请求后会比较这两个时间,如果相同则返回 304 Not Modified 状态码和空的响应体,表示客户端的缓存仍然可用,否则返回新的资源内容。
ETag 方式将在响应头中添加一个 ETag 字段,表示服务器上资源的唯一标识符。当客户端发送下一次请求时,会在请求头中添加一个 If-None-Match 字段,表示客户端上一次获取该资源的 ETag 值。服务器接收到请求后会比较这两个值,如果相同则返回 304 Not Modified 状态码和空的响应体,表示客户端的缓存仍然可用,否则返回新的资源内容。
