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

相关推荐
北京盟通科技官方账号1 天前
工业通讯底层对齐:EtherNet/IP Class 1 连接中的 32-bit Header 与内存映射逻辑
服务器·网络·网络协议·自动化·制造
GanGuaGua1 天前
JsonRpc:手搓一个高性能Rpc服务(应用篇)
qt·网络协议·rpc
GanGuaGua1 天前
JsonRpc:手搓一个高性能Rpc服务(广播篇)
网络·网络协议·rpc
松涛和鸣1 天前
41、Linux 网络编程并发模型总结(select / epoll / fork / pthread)
linux·服务器·网络·网络协议·tcp/ip·算法
典孝赢麻崩乐急2 天前
Redis复习------跳表
数据库·redis·缓存
✿ ༺ ོIT技术༻2 天前
Redis:Redis背景、特性、客户端及单线程模型
数据库·redis·缓存
程序员阿鹏2 天前
如何保证写入Redis的数据不重复
java·开发语言·数据结构·数据库·redis·缓存
斯普信专业组2 天前
Redis Cluster 集群化部署全流程指南:从源码编译到容器化
数据库·redis·缓存
微爱帮监所写信寄信2 天前
微爱帮监狱寄信写信系统后台PHP框架优化实战手册
android·开发语言·人工智能·网络协议·微信·https·php
Tandy12356_2 天前
手写TCP/IP协议栈——TCP结构定义与基本接口实现
c语言·网络·c++·网络协议·tcp/ip·计算机网络