“连接过多”的正确 HTTP 状态是什么?

“连接过多”的正确 HTTP 状态是什么?

我正在开发一个 HTTP 服务器,该服务器应该只允许每个用户建立一定数量的连接。我该如何优雅地告诉用户不允许超过 100 个连接n。我尝试n+1用 403 响应 100 个请求,但显然这会终止整个下载。(至少对于全部击倒!

答案1

429:请求过多

好像就是那个。

答案2

如果用户超出了用户特定的上限,则会出现 429“请求过多”。

但是,如果用户在其个人上限之内(或者不存在上限),但服务器在所有用户的总和下屈服于 509“超出带宽限制”(这是一个常见的惯例,但 RFC 并未这样定义)。

区别在于,第一种情况下,我们的客户端很顽皮,所以会出现 4xx 系列错误。第二种情况下,服务器超出了容量,因此认输,所以会出现 5xx 系列错误。

相关内容