Yii2速率限制器标题X-速率限制-重置值错误

Yii2速率限制器标题X-速率限制-重置值错误,yii2,yii-rest,Yii2,Yii Rest,我一直在努力理解Yi2的X-速率限制重置头后面的逻辑,该头是在中计算的 各国: X-Rate-Limit-Reset,为获得允许的最大请求数而等待的秒数 因此,如果速率限制为100,时间段/窗口为3600秒,那么我理解它应该是这样工作的: 请求#1在10:00返回,标题为X-Rate-Limit-Reset 3599 请求#2在10:30返回,标题为X-Rate-Limit-Reset 1800 请求#3在10:59返回,标题为X-Rate-Limit-Reset 59 我是不是误解了什么?

我一直在努力理解Yi2的X-
速率限制重置头后面的逻辑,该头是在中计算的

各国:

X-Rate-Limit-Reset,为获得允许的最大请求数而等待的秒数

因此,如果速率限制为100,时间段/窗口为3600秒,那么我理解它应该是这样工作的:

  • 请求#1在10:00返回,标题为
    X-Rate-Limit-Reset 3599
  • 请求#2在10:30返回,标题为
    X-Rate-Limit-Reset 1800
  • 请求#3在10:59返回,标题为
    X-Rate-Limit-Reset 59

我是不是误解了什么?或者这是一个bug?

实际上应该是这样的

  • 请求#1在10:00返回,标题为
    X-Rate-Limit-Reset 36
  • 请求#2在10:30返回,标题为
    X-Rate-Limit-Reset 36
  • 请求#3在10:59返回,标题为
    X-Rate-Limit-Reset 36
这是因为有了速率限制
100/3600
和稳定的请求数速率,要填补给定的窗口(3600)需要100-36秒的时间间隔,因此在第一次请求36秒后,您将再次收到100个可以使用的请求


不幸的是,在Yii 2中存在此功能的错误(每次返回0),但由于您的问题,我能够找到它并提出一个应在2.0.14中发布的解决方案。

感谢您的解释。我现在明白它应该如何工作了。但是,我真的看不出您在提交中所做的更改是如何解决此问题的。。。