![“连接过多”的正确 HTTP 状态是什么?](https://linux22.com/image/538883/%E2%80%9C%E8%BF%9E%E6%8E%A5%E8%BF%87%E5%A4%9A%E2%80%9D%E7%9A%84%E6%AD%A3%E7%A1%AE%20HTTP%20%E7%8A%B6%E6%80%81%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在开发一个 HTTP 服务器,该服务器应该只允许每个用户建立一定数量的连接。我该如何优雅地告诉用户不允许超过 100 个连接n
。我尝试n+1
用 403 响应 100 个请求,但显然这会终止整个下载。(至少对于全部击倒!)
答案1
429:请求过多
好像就是那个。
答案2
如果用户超出了用户特定的上限,则会出现 429“请求过多”。
但是,如果用户在其个人上限之内(或者不存在上限),但服务器在所有用户的总和下屈服于 509“超出带宽限制”(这是一个常见的惯例,但 RFC 并未这样定义)。
区别在于,第一种情况下,我们的客户端很顽皮,所以会出现 4xx 系列错误。第二种情况下,服务器超出了容量,因此认输,所以会出现 5xx 系列错误。