[网络] 字节一面~ 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.服务器推送
    服务器可以主动向客户端发送请求
相关推荐
侯小啾12 小时前
理解计算机网络中的MAC地址
网络·计算机网络·macos·mac
甄心爱学习12 小时前
计算机网络12
运维·服务器·网络
swanwei13 小时前
量子科技对核心产业的颠覆性影响及落地时间表(全文2500字)
大数据·网络·人工智能·程序人生·量子计算
大、男人14 小时前
目标URL存在http host头攻击漏洞
网络·网络协议·http
运维行者_15 小时前
网站出现 525 错误(SSL 握手失败)修复指南
服务器·网络·数据库·redis·网络协议·bootstrap·ssl
dreamtm12316 小时前
TCP 滑动窗口:像 “批量寄快递 + 收件人调速” 的高效协作
服务器·网络·tcp/ip
阿珊和她的猫18 小时前
WebSocket 与轮询:实时通信技术的对比与选择
网络·websocket·网络协议
Caarlossss19 小时前
jdbc学习
java·开发语言·学习·http·tomcat·maven
生活爱好者!19 小时前
效率高!开源协作 Wiki 与文档管理平台 NAS一键部署docmost
运维·网络·docker·容器·开源
ao_lang20 小时前
UDP协议和TCP协议
网络协议·tcp/ip·udp