簡體   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