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

相关推荐
独自破碎E15 小时前
Spring Boot工程启动以后,怎么将数据库中已有的固定内容打入到Redis缓存中?
数据库·spring boot·缓存
sweet丶15 小时前
DNS安全威胁:从劫持、污染到放大攻击的演练
网络协议·安全
此生只爱蛋16 小时前
【Redis】数据类型补充
数据库·redis·缓存
小南知更鸟17 小时前
前端静态项目快速启动:python -m http.server 4173 与 npx serve . 全解析
前端·python·http
科技块儿17 小时前
电商风控实战:如何利用访客IP防控有效识别刷d行为?
大数据·网络协议·tcp/ip
忧郁蓝调2619 小时前
Redis不停机数据迁移:基于 redis-shake 的跨实例 / 跨集群同步方案
运维·数据库·redis·阿里云·缓存·云原生·paas
Andy工程师20 小时前
网络响应码(HTTP 状态码)和解析方法
网络·网络协议·http
浅陌sss20 小时前
使用Unity从IIS搭建的文件服务器下载资源时出现HTTP/1.1 404 Not Found
运维·服务器·http
Andy工程师21 小时前
Netty 与 Spring Boot + HTTP 客户端(如 RestTemplate、WebClient)应用场景区别
spring boot·后端·http
奋斗べ青年.21 小时前
【redis】了解redis的主从和集群搭建
数据库·redis·缓存