繁体   English   中英

慢速HTTP与Web套接字-资源利用率

[英]Slow HTTP vs Web Sockets - Resource utilization

如果一堆与服务器的“慢速HTTP”连接会消耗大量资源以致导致拒绝服务,为什么一堆Web套接字与服务器不会引起相同的问题?

另一个SO问题的公认答案是,保持空闲连接几乎是免费的。

如果维护开放的TCP连接不花任何钱,为什么“慢速HTTP”会导致拒绝服务?

WebSocket和“慢速” HTTP连接都使用开放连接。 不同之处在于对服务器设计的期望。

典型的HTTP服务器不需要处理大量打开的连接,而是根据打开连接的数量很少的假设进行设计的。 如果服务器不能保护客户端免受低速客户端的攻击,则攻击者可以强迫根据该假设设计的服务器达到资源限制。

以下是一些示例,显示了不同的期望如何影响设计:

  • 如果一次只运行几个HTTP请求,则每个连接都可以使用线程。 对于WebSocket服务器,这不是一个好的设计。

  • 默认文件描述符限制通常足以满足典型的HTTP场景,但不适用于大量连接。

可以设计一个HTTP服务器来处理大量打开的连接,而几个服务器则是开箱即用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM