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

相关推荐
西京刀客3 分钟前
golang路由与框架选型(对比原生net/http、httprouter、Gin)
http·golang·gin
掘根1 小时前
【仿Muduo库项目】HTTP模块1——Util子模块
网络·网络协议·http
想摆烂的不会研究的研究生1 小时前
每日八股——Redis(2)
数据库·redis·缓存
optimistic_chen1 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
嘿嘿1 小时前
charles iOS 配置证书,抓取https请求
http·测试
CCPC不拿奖不改名2 小时前
网络与API:从HTTP协议视角理解网络分层原理+面试习题
开发语言·网络·python·网络协议·学习·http·面试
liulilittle3 小时前
OPENPPP2 网络驱动模式
开发语言·网络·c++·网络协议·信息与通信·通信
tzy2333 小时前
分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应
前端·网络协议·http
小李独爱秋3 小时前
计算机网络经典问题透视:MD5报文是什么?有什么特点?
网络·网络协议·计算机网络·网络安全·信息与通信·信号处理
海清河晏1114 小时前
Linux进阶篇:HTTP协议
linux·运维·http