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,这样每次请求都会向服务器验证缓存的有效性,但只有当资源真正改变时,才会下载新的内容。

相关推荐
廋到被风吹走16 分钟前
【缓存优化】缓存穿透:布隆过滤器(Guava/RedisBloom)
缓存·guava
Moshow郑锴35 分钟前
Spring Boot Data API 与 Redis 集成:KPI/图表/表格查询的缓存优化方案
spring boot·redis·缓存
小马爱打代码37 分钟前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
三水不滴1 小时前
SpringBoot+Caffeine+Redis实现多级缓存
spring boot·redis·笔记·缓存
科技块儿1 小时前
如何定期向监管部门报送IP属地统计报表?
网络·网络协议·tcp/ip
win x1 小时前
UDP Socket
网络·网络协议·udp
小李独爱秋2 小时前
计算机网络经典问题透视:RTS/CTS是强制使用还是选择使用?
网络协议·计算机网络·网络安全·信息与通信·信号处理
hoududubaba2 小时前
ORAN C平面传输和基本功能——C平面消息的ACK/NACK过程
网络·网络协议
坐怀不乱杯魂2 小时前
Linux 网络 - HTTP -cookie session
网络·网络协议·http
小李独爱秋2 小时前
计算机网络经典问题透视:无线局域网MAC协议中的SIFS和DIFS究竟是什么?
网络协议·计算机网络·macos·网络安全·信息与通信·信号处理