我正在整理一个REST服务的规范,其中的一部分将包含在整个服务范围内以及一组资源或单个资源上限制用户的功能。同样,这些超时可以按资源/组/服务进行配置。
我只是在浏览HTTP 1.1规范,并试图决定如何与客户端通信,因为请求已达到极限,因此无法满足请求。
最初,我认为客户端代码403 - Forbidden
就是这样,但从规范中可以看出:
授权将无济于事,不应重复请求
困扰着我
实际上似乎503 - Service Unavailable
是一种更好的用法-因为它允许通过使用Retry-After
标头来传递重试时间。
将来我可能会希望通过电子商务支持“购买”更多的请求(在这种情况下,如果客户端代码402 - Payment Required
已完成,那就太好了!)-但我认为这也同样可以被压缩为503响应。
您认为我应该使用哪个?还是有我没有考虑过的另一个?