2017-12-29 20 views
0

this lineで計算されたX-Rate-Limit-ResetヘッダーのYii2の値の背後にあるロジックを理解するのに苦労しています。Yii2 RateLimiterヘッダーX-Rate-Limit-Resetの値が正しくありません

documentation状態:

X-レート制限・リセット、秒数は

ので、許可される要求の最大数を取得するために待機するレート制限の場合100 /時間/ウィンドウが3600秒の場合は、次のように動作するはずです:

  • ヘッダ#01009972814478332972211737ヘッダと10時59分戻りのヘッダX-Rate-Limit-Reset 1800
  • 要求#3と10時30分リターンで
  • 要求#2 X-Rate-Limit-Reset 59

私が何かを誤解だろうか?それともバグですか?

答えて

1

実際には10でヘッダX-Rate-Limit-Reset 36

  • リクエスト#3と10時30分戻っでヘッダX-Rate-Limit-Reset 36
  • リクエスト#2との10:00リターンで

    • リクエスト#1のようなものであるべきです。 59ヘッダー付き返品X-Rate-Limit-Reset 36

    レートリミット100/3600で着実に請求していますecondsは指定されたウィンドウ(3600)を埋めるために隙間を空けるため、最初のリクエストから36秒後に100リクエストを再度取得します。

    残念ながら、この機能はYii 2にあります(毎回0を返します)。あなたの質問のために私はそれを見つけて、2.0.14でリリースされるfixを提案しました。

  • +0

    ありがとうございます。私は今、それがどのように働くのか理解しています。しかし、あなたがしたコミットの変化がどのように問題を解決したのかは本当にわかりません... – Hector

    関連する問題