这是一个有点简单的问题,但遗憾的是到目前为止我还没有找到具体的答案。
我们正在构建一个API(我们尚未投入生产),它在用户身份验证等后返回大量数据.API系统以每秒和每小时的速度跟踪用户的使用情况基础。当用户超出这些限制时,服务器不返回任何内容和一些http错误代码。
目前,我使用406 Not Acceptable,但我不相信这是最好的代码。有人建议超过509带宽限制是一个很好的,但我想知道是否有一个代码被认为是我的情况的最佳实践。提前感谢您的帮助!
答案 0 :(得分:3)
状态代码429浮现在脑海:
RFC 6585, section 4:429请求太多
429状态代码表示用户发送的数量太多 请求在给定的时间内(“速率限制”)。
回复陈述应该包括解释的详细信息 条件,并且可以包含一个Retry-After标头,指示多长时间 在提出新请求之前等待。
答案 1 :(得分:1)
好吧,既然您没有找到适用的错误代码,我猜不会有错误代码。在这种情况下,如果我是你,我会坚持使用你的406或类似的东西,只需决定一些东西并继续使用它。浏览器无论如何并且API会被接受你返回的任何代码的人使用并推断出它是一条规则 - “如果我超过使用率,我会得到406”。我认为这个神奇的数字并不重要。