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

相关推荐
sdghterhd9 小时前
WebSocket 快速入门教程(附示例源码)
网络·websocket·网络协议
ffqws_13 小时前
redis面试:如何保证双写一致
数据库·redis·缓存
IpdataCloud15 小时前
AI生成的Avalon恶意框架怎么防?用IP离线库识别模块化C2通信
运维·人工智能·网络协议·tcp/ip·ip
一口一口吃成大V17 小时前
lattice mipi ip开启DESKEW_EN属性(“ENABLED“),输出异常
网络·网络协议·tcp/ip
奇牙coding12321 小时前
OpenAI Realtime API WebSocket 断连 4008/1006 怎么解决?不是 Key 失效,是实时多模态独有的会话超时规则
python·websocket·网络协议·ai
Helen_cai21 小时前
OpenHarmony http 网络请求封装与全局拦截实战(API Version23 + 适配版)
网络·网络协议·http·华为·harmonyos
刘马想放假21 小时前
生成树协议 STP、RSTP、MSTP 分析:二层环网如何既冗余又不环路
运维·网络协议
gugucoding1 天前
39. 【C语言】经典 C 项目实战:迷你 HTTP 服务器
c语言·开发语言·http
发光小北1 天前
SSF-BOX-200 PLC 数据采集网关如何应用?
网络协议
枫叶丹41 天前
Loop Engineering:从提示词到循环系统
数据库·redis·缓存·loop