最佳实践:用户超出使用限制的HTTP代码

时间:2012-11-02 20:02:54

标签: http http-headers error-code

这是一个有点简单的问题,但遗憾的是到目前为止我还没有找到具体的答案。

我们正在构建一个API(我们尚未投入生产),它在用户身份验证等后返回大量数据.API系统以每秒和每小时的速度跟踪用户的使用情况基础。当用户超出这些限制时,服务器不返回任何内容和一些http错误代码。

目前,我使用406 Not Acceptable,但我不相信这是最好的代码。有人建议超过509带宽限制是一个很好的,但我想知道是否有一个代码被认为是我的情况的最佳实践。提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

状态代码429浮现在脑海:

  

RFC 6585, section 4:429请求太多

     

429状态代码表示用户发送的数量太多      请求在给定的时间内(“速率限制”)。

     

回复陈述应该包括解释的详细信息      条件,并且可以包含一个Retry-After标头,指示多长时间      在提出新请求之前等待。

答案 1 :(得分:1)

好吧,既然您没有找到适用的错误代码,我猜不会有错误代码。在这种情况下,如果我是你,我会坚持使用你的406或类似的东西,只需决定一些东西并继续使用它。浏览器无论如何并且API会被接受你返回的任何代码的人使用并推断出它是一条规则 - “如果我超过使用率,我会得到406”。我认为这个神奇的数字并不重要。