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

相关推荐
kunwen12326 分钟前
推理还是训练 || KV缓存和CoT技术
缓存·kv缓存·cot技术
蓝色天空的银码星27 分钟前
Spring循环依赖源码调试详解,用两级缓存代替三级缓存
java·spring·缓存
你我约定有三7 小时前
MyBatis--缓存详解
spring boot·缓存·mybatis
天涯海风9 小时前
检索增强生成(RAG) 缓存增强生成(CAG) 生成中检索(RICHES) 知识库增强语言模型(KBLAM)
人工智能·缓存·语言模型
m0_5951998511 小时前
Redis(以Django为例,含具体操作步骤)
数据库·redis·缓存
rainFFrain15 小时前
Boost搜索引擎项目(详细思路版)
网络·c++·http·搜索引擎
.Shu.16 小时前
计算机网络 HTTPS 全流程
网络协议·计算机网络·https
还听珊瑚海吗20 小时前
基于WebSocket和SpringBoot聊天项目ChatterBox测试报告
spring boot·websocket·网络协议
huisheng_qaq1 天前
【ElasticSearch实用篇-03】QueryDsl高阶用法以及缓存机制
elasticsearch·缓存·nosql·querydsl·score打分机制
猿究院--冯磊1 天前
计算机网络--HTTP协议
网络协议·计算机网络·http