web服务器如何实现速率限制(例如,从特定的客户机/用户)呢?
问题是,服务器必须首先“获取”请求,如果已达到阈值,则拒绝。在这个过程中,服务器没有使用它的资源。
例如:
在服务器中,我们可能有这样的逻辑(假设socket编程)。
void acceptConnection() {
while(true) {
int i = accept();
// rest of logic
}
}
我的疑问是这样开始的:服务器将监听一个套接字/端口,所以即使它可能拒绝一个客户机,但服务器仍在监听假调用,这不也是dos的原因吗?例如,服务器在拒绝假调用之前不执行accept();所以在某种程度上,一部分代码被执行了?
暂无答案!
目前还没有任何答案,快来回答吧!