HTTP/1.0 到 HTTP/3.0

HTTP/1.0:

存在的问题,不能复用 TCP 连接,很消耗资源。

HTTP/1.1

解决了 HTTP/1.0 不能复用 TCP 连接的问题,使用流水线请求复用 TCP 连接,但是流水线请求必须按照顺序请求,原因在于 HTTP/1.1 是一个文本协议,文本协议的解析必须等到上一个请求应答完成之后才会有下一个,这就有可能发生流水线头部阻塞。

HTTP/2.0

解决了 HTTP/1.0 流水线头部阻塞的问题,使文本协议变成二进制协议,在传输的过程中传输的是二进制的帧,根据二进制帧的格式,可以对乱序的请求结果进行拼接,解决了头部阻塞的问题。但是如果传输的过程中,有一个包丢了,请求还会等待重传,一次性把数据返回给用户层。

HTTP/2.0 + PUSH

优化了 HTTP/2.0 的响应速度,服务器根据浏览器的请求,直接把浏览器所需要的资源一次性全部 PUSH 过去,减少 RTP。

HTTP/3.0

使用 UDP,解决了数据包之间的阻塞,同时,还可以根据数据包之间的关系,根据 FEC(前向错误纠正) 包计算出丢的包的数据。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容