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

相关推荐
Re.不晚9 分钟前
Redis核心原理底层机制——持久化【RDB与AOF】
数据库·redis·缓存
seeInfinite16 分钟前
LLM面试相关汇总
数据库·redis·缓存
竟未曾年少轻狂2 小时前
Spring Boot 项目集成 Redis
java·spring boot·redis·缓存·消息队列·wpf·redis集群
运维有小邓@3 小时前
基于证书的身份验证:入门指南
网络协议·https·ssl
她说..3 小时前
万字详解WebSocket的用法
java·网络·websocket·网络协议·springboot
全栈前端老曹4 小时前
【Redis】Redis 客户端连接与编程实践——Python/Java/Node.js 连接 Redis、实现计数器、缓存接口
前端·数据库·redis·python·缓存·全栈
张雨zy4 小时前
HarmonyOS 鸿蒙网络层封装实践:构建稳健的HTTP请求客户端
http·华为·harmonyos
鸡蛋豆腐仙子4 小时前
redis及实现分布式锁的原理
java·redis·分布式·学习·缓存
专注VB编程开发20年4 小时前
PLC协议:Modbus.Device(NModbus4)和手动 Socket.BeginConnect (APM异步编程模型)对比
网络·网络协议·tcp/ip·plc
IPDEEP全球代理4 小时前
TikTok多账号运营?使用静态IP还是动态IP合适?
大数据·网络协议·tcp/ip