首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么HTTP/1.1建议在打开连接时保持保守?

为什么HTTP/1.1建议在打开连接时保持保守?
EN

Stack Overflow用户
提问于 2018-12-03 16:13:06
回答 1查看 38关注 0票数 1

使用HTTP/1.0时,建议每个域的连接限制为2个。最近的HTTP已经放宽了这一限制,但在打开多个连接时仍然警告要保守:

根据RFC 7230第6.4节,“客户端应该限制它与给定服务器同时维护的打开连接的数量”。

更具体地说,除了HTTP/2,现在浏览器在使用HTTP/1.1时对每个域限制为6-8个连接。据我所读,这些指导方针旨在提高HTTP响应时间并避免拥塞。

有人能帮助我理解如果多个连接都是通过域打开的话,拥塞和响应时间会发生什么吗?这听起来不像HTTP服务器问题,因为它们可以处理的连接数量似乎是实现细节。上面的解释似乎是关于TCP性能的?对于HTTP客户机为什么限制每个域的连接数量,我找不到更精确的解释。

EN

回答 1

Stack Overflow用户

发布于 2018-12-04 01:30:53

这样做的主要原因是服务器端的资源。

假设有一个服务器运行Apache,默认为256个工作线程。假设此服务器承载有20个图像的索引页。现在假设有20个客户端同时连接和下载索引页;这些客户机中的每个客户端在获得该页面后都会关闭这些连接。

由于它们现在都将建立连接来下载映像,所以很可能会看到连接呈指数增长(我想是成倍增长)。考虑一下,如果每个客户端配置为并行地建立多达10个同时连接,以优化页面的图像显示,会发生什么情况。这使我们快速地达到400个同时连接。这几乎是Apache可用的辅助进程数量的两倍(默认情况下,使用预分叉)。

对于服务器来说,资源必须是平衡的,才能提供最可能的负载,但是客户端通过节流连接来提供极大的帮助。如果每个客户端都可以并行地建立到服务器的100+连接,那么我们将非常迅速地DoS大量主机。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53597611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档