http缓存

41 阅读1分钟

1.什么是缓存

防止多余的请求访问服务器,对服务器造成压力,从而提高性能。

可以被缓存的的资源:img,css,js

强制缓存:

cache-control(在Responder Headers中,控制强制缓存的逻辑)

举例:cache-control:max-age=31536000(单位是秒)

expires:同在Respond Headers中,同为控制缓存过期,已被cache-control代替

协商缓存(对比缓存)

是服务器缓存策略

服务器判断客户端资源,是否和服务器资源一样,一样的话,返回302,否则返回200和新的资源

sequenceDiagram
浏览器->>服务器: 初次请求
服务器-->>浏览器:返回资源和资源标识
浏览器-->>服务器:再次请求,带着资源标识
服务器-)浏览器:返回304,或者返回资源和新的资源标识

资源标识

在Respond Headers中,有两种

Last-Modified资源的最后修改时间

Etag资源的唯一标识(一个字符串,类似人类的指纹)

Last-Modified和Etag,会优先使用Etag,Last-Modified只能精确到秒级,如果资源被重复生成,而内容不变,那

么Etag更准确