HTTP—状态码
请求错误(4XX)
这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个 HEAD 请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。
429 Too Many Requests
应用场景:限流器
如果一个请求被限流,API会给客户端返回HTTP响应码429(请求过多)。根据应用场景我们有可能会把超过阈值的请求放入队列,之后再处理。比如,一些订单请求因为系统过载被限流了,我们可以保存这些订单以便稍后处理。
限流器返回的HTTP头
客户端通过HTTP头在请求被拦截之前知道允许通过的请求数还剩多少
- X-RateLimit-Remainging:在当前时间窗口内剩余的允许通过的请求数量
- X-RateLimit:客户端在每个时间窗口内可以发送多少个请求
- X-RateLimit-Retry-After:在被限流之后,需要等待多少秒才能继续发送请求而不被拦截
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.