作为软件工程师,http2 和 http1.1 的区别是什么?


作为软件工程师,HTTP2和HTTP1.1的区别主要体现在传输方式、使用协议、压缩算法和通信方式上。具体差异如下: 1. 传输方式:HTTP1.1采用报文形式传输,而HTTP2采用二进制传输,进行二进制分帧,流传输。 2. 使用协议:HTTP2使用http+Hpack+Stream,而HTTP1.1使用http+tcp。 3. 压缩算法:HTTP2使用hpack压缩头部信息,而HTTP1.1没有压缩头部信息。 4. 通信方式:HTTP2是全双工(客户端和服务器都可以主动发起请求),而HTTP1.1是半双工(仅有一方可以主动发起请求)。 HTTP2还实现了多路复用,在同一连接里,客户端和服务器都可以同时发送多个请求和回应,并且不用按照顺序一一发送,这样就避免了“队头阻塞”的问题。而HTTP1.1中浏览器客户端在同一时间,针对同一域名下的请求有一定数量限制(连接数量),超过限制会被阻塞。HTTP2使用了数据流的概念,因为其数据包是不按顺序发送的,同一个连接里面连续的数据包可能属于不同的请求。必须要对数据包做标记,指出它属于哪个请求。每个请求或回应的所有数据包称为一个数据流,每个数据流都有一个独一无二的编号。 HTTP2和HTTP1.1的主要区别体现在传输方式、使用协议、压缩算法和通信方式上。相比之下,HTTP2具有更高的效率和创新性。 [2023-11-09 18:18:26 | AI写代码神器 | 331点数解答]
相关提问
- 作为软件工程师,http2 和 http1.1 的区别是什么?(331点数解答 | 2023-11-09 18:18:26)109
- 作为**工程师,软件**分为几个阶段 各阶段的**策略和要求?(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
- 作为**工程师,jmeter中的分布式**是什么?如何进行分布式**?(108点数解答 | 2023-11-09 18:26:40)247
- 作为**工程师,jmeter中的远程**是什么?如何进行远程**?(288点数解答 | 2023-11-09 18:26:45)244
- 作为c++开发,new int[10]跟new int[10]()区别(196点数解答 | 2023-11-09 00:45:31)237
- 作为javascript开发,简述 jquery中 $ .get()提交和$.post()区别 ?(341点数解答 | 2023-11-09 01:15:01)228
- 作为php开发,php isset() 和 empty() 区别?(340点数解答 | 2023-11-09 17:57:11)235