[网络] 字节一面~ 2. HTTP 2 与 HTTP 1.x 有什么区别

  1. 头部压缩
    在 HTTP2 当中,如果你发出了多个请求,并且它们的头部(header)是相同的,那么 HTTP2 协议会帮你消除同样的部分。(其实就是在客户端和服务端维护一张索引表来实现)
  2. 二进制格式
    HTTP1.1 采用明文的形式
    HTTP/2 全⾯采⽤了⼆进制格式,头信息和数据体都是⼆进制
  3. 数据流
    HTTP/2 的数据包不是按顺序发送的,同⼀个连接⾥⾯连续的数据包,可能属于不同的回应。(对数据包做了标记,标志其属于哪一个请求,其中规定客户端发出的数据流编号为奇数,服务器发出的数据流编号为偶数。客户端还可以指定数据流的优先级,优先级⾼的请求,服务器就先响应该请求)
  4. IO多路复用
    如:在⼀个连接中,服务器收到了客户端 A 和 B 的两个请求,但是发现在处理 A 的过程中⾮常耗时,索性就先回应 A 已经处理好的部分,再接着回应 B 请求,最后再回应 A 请求剩下的部分。
    HTTP/2 可以在⼀个连接中并发多个请求或回应。
    5.服务器推送
    服务器可以主动向客户端发送请求
相关推荐
Simon523147 分钟前
HTTP、Cookie、Session知识小计
网络·网络协议·http
XS03010610 分钟前
HTTP协议
网络·网络协议·http
暴力求解17 分钟前
Linux--网络-->UDP_socket
linux·网络·网络协议·udp·操作系统
難釋懷19 分钟前
Redis网络模型-单线程和多线程网络模型变更
网络·redis·git
顶点多余22 分钟前
传输层协议TCP详解----下
网络·网络协议·tcp/ip
哼?~29 分钟前
数据链路层
网络
想唱rap31 分钟前
NAT、内网穿透、代理服务
java·linux·网络·网络协议·udp·智能路由器
H Journey44 分钟前
TCP三次握手
网络协议·tcp/ip·三次握手
liulilittle1 小时前
TCP BBR调优及监控
linux·网络·网络协议·tcp/ip·win
程思扬1 小时前
Android 悬浮窗状态错乱终极解决方案:告别 onResume
android·网络