#青训营 x 字节后端训练营#
因为 http1.0 是基于 TCP 的。基于 TCP 的协议都会有一个队头阻塞的问题,后续的分片必须要等待前面的分片的到来才能继续发送后面的数据,否则的话会一直等待。
http1.0的传输效率很低,就像如果只想传简单的讯息,但是这里面同时发送的无用的信息其实非常多,存在很多重复的信息如头部数据等。
除此之外,http1.0也不支持多路复用,这个请求没结束之前是不能再发送其他请求的。
最后是 http1.0是明文传输,不安全。
HTTP2 解决了 HTTP 1 的一部分问题,但没有完全解决。HTTP2 引入的改进比如说可以进行多路复用、头部压缩,以及使用二进制协议解析起来更加高效。 但是由于 http2 还是基于 tcp 的,所以并没有解决队头阻塞的问题,而且握手的开销也没有优化。于是出现了基于UDP协议的 QUIC ,解决了上面说的两个问题。
展开
评论