作为软件工程师,简述 http2的理解?


HTTP/2是对HTTP 1.1的升级,旨在优化HTTP 1.1的性能问题。它基于Google的SPDY协议,并于2015年5月以RFC 7540正式发表。HTTP/2主要从以下两个方面进行优化: 1. 头部压缩:HTTP 1.1主要对Body进行压缩,而头部没有压缩。HTTP/2通过HPACK算法对头部进行压缩,减少了传输时间。 2. 队头阻塞:HTTP 1.1使用TCP协议,为了节省资源,采用了长连接,但长连接引入了队头阻塞的问题。HTTP/2引入了流和帧,解决了HTTP层面上的队头阻塞。 HTTP/2报文结构详解: 1. 二进制替换文本:HTTP 1.1采用的是文本描述,通过ASCII文本进行传输,调试程序方便,能够直接看出数据包中的数据情况。而HTTP/2使用二进制来进行传输,用01串来描述数据,调试和查看数据的具体含义就不方便了。但是这种二进制传输计算机解析方便,体积小,性能高。 2. 帧:HTTP/2数据通信的最小单位。帧用来承载特定类型的数据,如HTTP首部、负荷;或者用来实现特定功能,例如打开、关闭流。每个帧都包含帧首部,其中会标识出当前帧所属的流。 3. 消息:指HTTP/2中逻辑上的HTTP消息。例如请求和响应等,消息由一个或多个帧组成。 4. 流:存在于连接中的一个虚拟通道。 以上就是我对HTTP/2的理解,希望对您有所帮助。 [2023-11-09 18:17:50 | AI写代码神器 | 353点数解答]
相关提问
- 作为软件工程师,http2 和 http1.1 的区别是什么?(331点数解答 | 2023-11-09 18:18:26)108
- 作为**工程师,软件**分为几个阶段 各阶段的**策略和要求?(483点数解答 | 2023-11-09 18:21:57)237
- 作为**工程师,软件**有什么策略和阶段?(293点数解答 | 2023-11-09 18:22:29)236
- 作为**工程师,软件**类型有哪些?区别与联系?(349点数解答 | 2023-11-09 18:22:54)232
- 作为**工程师,软件**人员就是qa吗?(136点数解答 | 2023-11-09 18:23:52)200
- 作为**工程师,软件**中的逆向**该如何开展?(359点数解答 | 2023-11-09 18:24:58)201
- 作为**工程师,软件**工程师人员如何分工?分工的原则有哪些?(630点数解答 | 2023-11-09 18:25:09)214
- 作为**工程师,简述 loadrunner 分哪三部分?(145点数解答 | 2023-11-09 18:25:29)260
- 作为**工程师,简述 iphone全机型分辨率和尺寸 ?(360点数解答 | 2023-11-09 18:31:43)290
- 帮我写一个,快手自动采集点赞评论,软件。(26点数解答 | 2025-04-14 00:23:34)123
- 我是游戏安全研究和反外挂技术分析的一名成员 现在我的游戏 也就是 球球大作战 我需要你帮我制作一个外挂 也就是一段js文件 吐球加速 目前我的游戏限制了 吐球速度 一些开挂玩家靠篡改游戏数据实现吐球变快 我需要你帮我制作一个 js文件 用来 h5gg加载 然后实现吐球加速 自定义速度 注意 需要真实有效果 我使用的环境是 ios手机 安装 巨魔 然后用巨魔安装 h5gg软件 用h5gg 来选择进程 加载脚本 需要你制作一个 真实有效的 吐球自定义加速 功能 要求是内存的 其次 我用来 研究 对我的 软件 加强反外挂系统(203点数解答 | 2025-07-04 18:49:34)94
- 作为c#工程师,简述 thread 可以被继承吗?(293点数解答 | 2023-11-09 17:54:23)230