地推不同HTTP协议解决的问题

Posted dituicyqz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地推不同HTTP协议解决的问题相关的知识,希望对你有一定的参考价值。

不同HTTP协议解决的问题也是不同的,HTTP1.1有什么问题呢?

因为HTTP1.1一个连接中数据是顺序传输的,所以会有Head-of-line Blocking的问题,如果前面是一个大的数据包,则会导致后续数据包的阻塞。

HTTP1.1无法对请求头和cookie进行压缩,所以传输效率会比较低。

为了保证缓冲区不会溢出,HTTP1.1有一个TCP慢启动的功能,作为拥塞控制措施,协议反复探测网络以计算可用容量,但是这样就会导致多次数据的传输,从而导致消息的延时。

对于HTTP2来说,它使用二进制进行消息传输,并且将消息拆分成一个个的stream,在stream中又包含了多个frame,允许资源通过多路复用使用同一个连接发送,解决了行头阻塞的问题,并且还支持数据包的优先级和服务器推送。

但是HTTP2的服务器推送会导致应用程序变得复杂,TCP级别的头阻塞的问题在数据包丢失并且必须重新以正确的顺序重新发送时,仍然可能发生。

要注意,HTTP/2是HTTP/1.1的扩展,而不是它的替代品。 应用程序语义保持不变,具有相同的HTTP方法、状态代码、URI和标头字段。 所以HTTP/2可以被用在任何使用HTTP/1.1的地方。

HTTP/2在客户端和服务器之间使用单个TCP连接,该连接在交互期间保持打开状态。

虽然HTTP/2支持并发,但是过多的并发会导致HTTP/2服务器接收到大批量的请求,从而导致请求超时。

以上是关于地推不同HTTP协议解决的问题的主要内容,如果未能解决你的问题,请参考以下文章

地推解决HoL阻塞

地推解决HoL阻塞

地推HTTP3和QUIC

地推HTTP3和QUIC

地推HTTP成长介绍

地推HTTP成长介绍