队头阻塞

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队头阻塞相关的知识,希望对你有一定的参考价值。

队头阻塞

请求 - 应答 模式加剧了 HTTP 的性能问题,这就是著名的“队头阻塞”(Head-of-line blocking)。

当顺序发送的请求序列中的一个请求因为某种原因被阻塞时,在后面排队的所有请求也一并被阻塞,会导致客户端迟迟收不到数据。

HTTP/1.1不能完全解决,但可以缓解:

方法1:并发连接,同时对一个域名发起多个长连接,浏览器支持6-8个连接。
但这种方式也存在缺陷。如果每个客户端都想自己快,建立很多个连接,用户数×并发数就会是个天文数字。服务器的资源根本就扛不住,或者被服务器认为是恶意的,反而会造成“拒绝服务”。

方法2:域名分片,多个域名指向同一个服务器

以上是关于队头阻塞的主要内容,如果未能解决你的问题,请参考以下文章

HTTP详解长短连接,管道化,队头阻塞及它们之间的关系

http1.x和http2的区别

常用阻塞队列 BlockingQueue 有哪些?

源码角度了解阻塞队列之ArrayBlockingQueue

详解HTTP协议版本(HTTP/1.01.12.03.0区别)

详解HTTP协议版本(HTTP/1.01.12.03.0区别)