[英]How to throttle clients in a REST API
我想限制客户端对我的 REST API 的调用次数上限。 我应该返回什么来通知客户他们已被限制?
Amazon S3 返回 HTTP 503 并带有错误代码SlowDown以通知客户。
你有什么建议?
由于RFC 2616文档状态503为(我的重点):
由于服务器的临时过载或维护,服务器当前无法处理请求。 这意味着这是一个暂时的条件,经过一段时间的延迟后会得到缓解。 如果已知,则可以在Retry-After报头中指示延迟的长度。
这似乎是一种合理的方法,特别是使用 Retry-After
标头。
对于这种情况,服务器似乎还没有过载,这只是一种主动措施,告诉客户端您在一段时间内不应发送超过 x 个请求。 HTTP 在我看来,503 对客户端的道歉过头了,而服务器还没有问题,并且仍然对客户端的过载感到满意。 以我的拙见,这种客户端发送了太多请求并且客户端有问题,所以 HTTP 421 似乎最适合 HTTP 响应代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.