Http的缓存有哪些

HTTP 缓存可以通过多种 HTTP 头部字段来控制,主要包括以下几种:
1.Expires:这个字段定义了响应的过期时间。如果当前时间小于 Expires 的时间,那么就可以直接使用缓存。

2.Cache-Control:这个字段是一个指令,它可以定义缓存的行为。例如,no-cache 表示每次都要向服务器验证缓存的有效性,no-store 表示不缓存响应,max-age 定义了缓存的最大有效时间。

3.Last-Modified 和 If-Modified-Since:服务器在响应中发送 Last-Modified 字段,表示资源最后修改的时间。客户端在下次请求时,可以发送 If-Modified-Since 字段,如果资源没有修改,服务器会返回 304 状态码,表示可以使用缓存。

4.ETag 和 If-None-Match:ETag 是服务器为每个资源生成的一个唯一标识符。客户端在下次请求时,可以发送 If-None-Match 字段,如果 ETag 没有变化,服务器会返回 304 状态码,表示可以使用缓存。

这些字段可以组合使用,以实现复杂的缓存策略。例如,可以使用 Cache-Control: no-cache 和 ETag,这样每次请求都会向服务器验证缓存的有效性,但只有当资源真正改变时,才会下载新的内容。

相关推荐
fjkxyl3 分钟前
Redis 跳表技术博客:为什么不选用红黑树和 B+ 树
数据库·redis·缓存
duration~11 分钟前
ARP 协议详情
网络·网络协议·tcp/ip·智能路由器
钦拆大仁22 分钟前
系统架构设计中的多级缓存以及缓存预热
缓存·架构设计
w_t_y_y27 分钟前
http通信鉴权(三)基于 Session + CSRF Token 的 Cookie 认证
网络协议·http·csrf
渡我白衣30 分钟前
Reactor与多Reactor设计:epoll实战
linux·网络·人工智能·网络协议·tcp/ip·信息与通信·linux网络编程
灋✘逞_兇32 分钟前
Protobuf的RPC序列化和调用原理
网络·网络协议·rpc
小笔学长39 分钟前
WebSocket 协议:实时双向通信
网络协议·websocket协议·前端后端开发·实时应用实战·websocket性能优化
不吃香菜56739 分钟前
WebSocket 超细致完整用法讲解(含原理 + 前端 + 后端 + 实战案例 + 避坑)
前端·网络·websocket·网络协议
坐怀不乱杯魂1 小时前
Linux - 缓存利用率
linux·c++·缓存
toooooop81 小时前
在ThinkPHP8中实现缓存降级
redis·缓存·php·缓存降级