当前位置 : 主页 > 编程语言 > 其它开发 >

HTTP:聊一聊HTTP中的协商缓存

来源:互联网 收集:自由互联 发布时间:2022-05-30
一、什么是协商缓存 协商缓存是服务器端的一种缓存策略,服务端提供一种记号,用来判断客户端资源和服务端是否一样。 一致返回304,否则返回200和新资源。 二、如何实现 主要是通

一、什么是协商缓存

协商缓存是服务器端的一种缓存策略,服务端提供一种记号,用来判断客户端资源和服务端是否一样。

一致返回304,否则返回200和新资源。

 

二、如何实现

主要是通过在response header中携带相关标识

一种通过last-modified资源的最后修改时间

第一次请求时,服务器端会在response header插入last-modified最后修改时间,下一次客户端请求时在request header携带if-modified-since ,对比最后修改时间是否一致,来判定需要返回新数据。

 

一种通过Etag资源的唯一标识符(一种字符串)

第一次请求时,服务器端会在response header插入Etag标识符,下一次客户端请求时在request header携带 if-none-match,对比最后修改时间是否一致,来判定需要返回新数据。

例如:

Etag比last-modified更有优势,last-modified只能支持秒为单位

三、最后浏览器的缓存处理机制如下

 

网友评论