HTTP/2

HTTP/2核心

二进制帧

HTTP 2.0中所有加强性能的核心带你在于此--二进制传输

之前的HTTP/1的版本中,传输数据方式--文本传输

在 HTTP 2.0 中,有两个非常重要的概念,分别是帧(frame)流(stream)
代表着最小的数据单位,每个帧会标识出该帧属于哪个流,
是一个或多个帧组成的数据流。

流的优先级: HTTP/2 允许为每个数据流设置优先级。服务器和客户端可以指定数据流的优先级,以确保重要的数据流能够更早地得到服务

多路复用

允许在同一个链接上发送多个流,且每个流都有唯一流ID,不同的数据流的帧可以交错传输,而不需要等待一个数据流的帧全部传输完毕。这允许更高效的利用网络资源,通过这个技术,可以避免 HTTP 旧版本中的队头阻塞问题,极大的提高传输性能。

header压缩

在HTTP/1.x中,请求和响应头部始终是以纯文本方式传输,而不能被压缩的。这样每个请求和响应都会增加一些开销,特别是在启用了cookie的时候,可能每次会要增加几k字节的开销。

在 HTTP 2.0 中,使用了 HPACK压缩格式 对传输的 header 进行压缩,减小了每个请求和响应的头部大小。并在两端维护了索引表,用于记录出现过的 header ,后面在传输过程中就可以传输已经记录过的 header 的键名,对端收到数据后就可以通过键名找到对应的值

server服务端push

服务端推送数据都是由PUSH_PROMISE帧发起的,它标明了服务端推送的资源的意图,并且该帧要在请求推送资源的响应帧之前传输。这个做法应该是比较好理解的,因为这样能避免客户端重复请求服务端主动推送的数据。服务端推送的使用方式由客户端掌握主动权,客户端可以限制并行推送的数量、调整流控窗口、或者禁用服务端推送。这些优先级都是在连接建立初期通过SETTINGS帧传输的,后续也可以随时更新

quic协议基于udp

相关推荐
德迅云安全—珍珍17 分钟前
什么是udp攻击,为什么udp攻击难防御
网络·网络协议·udp
运维行者_1 小时前
OPM 与传统管理工具的区别,在网络修复与自动化运维方面的优势在哪里?
运维·服务器·开发语言·网络·自动化·php·ssl
广州灵眸科技有限公司1 小时前
瑞芯微(EASY EAI)RV1126B 音频输入
linux·开发语言·网络·音视频
网安INF3 小时前
SSL/TLS密钥派生机制与安全攻防体系深度解析
网络·安全·网络安全·密码学·ssl
TG:@yunlaoda360 云老大3 小时前
华为云国际站代理商NAT的规格有哪些?
服务器·网络·华为云
talenteddriver3 小时前
web: http请求(自用总结)
前端·网络协议·http
CICI131414133 小时前
焊接机器人负载能力选择标准
网络·数据库·人工智能
Xの哲學3 小时前
Linux UPnP技术深度解析: 从设计哲学到实现细节
linux·服务器·网络·算法·边缘计算
Trouvaille ~4 小时前
【Linux】从磁盘到文件系统:深入理解Ext2文件系统
linux·运维·网络·c++·磁盘·文件系统·inode
乾元4 小时前
AI 驱动的入侵检测与异常会话判别:从规则到行为分析前言:从“捕获敌人”到“守卫秩序”
运维·网络·人工智能·网络协议·安全