首页 > 解决方案 > Web 服务器中的速率限制

问题描述

Web 服务器如何实现速率限制,例如,来自特定客户端/用户的速率限制?

怀疑是,服务器必须首先“获取”请求,如果达到阈值,则拒绝。在这个过程中,是不是服务器在使用它的资源。

例如:

在服务器中,我们可能有这样的逻辑(假设是套接字编程)。

void acceptConnection() {

    while(true) {

       int i = accept();
        
       // rest of logic

    }
}

我的疑问由此开始:服务器将在套接字/端口上进行侦听,因此即使它可能拒绝客户端,但服务器仍在侦听虚假呼叫,这难道不也有助于 DOS 吗?例如,服务器在拒绝假呼叫之前不执行 accept() 吗?所以在某种程度上,一部分代码正在执行?

标签: javasocketsrate-limitingddosdenial-of-service

解决方案


推荐阅读