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

相关推荐
清 晨4 小时前
剖析 Web3 与传统网络模型的安全框架
网络·安全·web3·facebook·tiktok·instagram·clonbrowser
国科安芯4 小时前
抗辐照芯片在低轨卫星星座CAN总线通讯及供电系统的应用探讨
运维·网络·人工智能·单片机·自动化
gx23485 小时前
HCLP--MGER综合实验
运维·服务器·网络
VB5945 小时前
[N1盒子] 斐讯盒子N1 T1通用刷机包(可救砖)
网络
-XWB-5 小时前
【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用
服务器·网络·http
画中鸦6 小时前
VRRP的概念及应用场景
网络
MQ_SOFTWARE6 小时前
文件权限标记机制在知识安全共享中的应用实践
大数据·网络
一个网络学徒6 小时前
MGRE综合实验
运维·服务器·网络
拾光拾趣录7 小时前
GET/POST 的区别:从“为什么登录请求不能用 GET”说起
前端·网络协议
白鹭7 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache