秒数に単位 s を付けた誤り
ドキュメントの例をまねて秒数に s を付けてしまった、よくある壊れ方の例です。delay-seconds は数字だけという規則に反するので、エラーとして直し方を示します。
入力
応答ヘッダー(Retry-After・RateLimit など)
Retry-After: 120s
基準の日時(応答を受け取った時刻。空欄なら Date ヘッダー)
(空)
応答のステータス
指定しない
結果
エラー 1 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
- エラー Retry-After Retry-After の値「120s」は、秒数(1 桁以上の数字だけ)でも HTTP-date でもありません。秒数に単位(s など)は付けられません。書式は 120 または Sun, 06 Nov 1994 08:49:37 GMT です(RFC 9110 10.2.3・5.6.7)。
ヘッダーごとの意味と換算
出力はありません(指摘の一覧をご覧ください)。
検算(この結果になる理由)
delay-seconds は 1 桁以上の数字だけ(RFC 9110 10.2.3)で、単位は付けられません。HTTP-date の形でもないので、どちらとしても読めずエラーが 1 件になります。表には換算結果が出ません。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 実際のサーバーへ接続してヘッダーを取得する機能はありません。貼り付けた文字だけを読みます。
- 現在の時刻は使いません。秒数を時刻にするには、応答を受け取った時刻(基準の日時か Date ヘッダー)が必要です。
- RateLimit・RateLimit-Policy は草案の書式だけを読みます。X-RateLimit-Limit など各サービス独自の書式は読み飛ばします。
- ステータスコードごとの再試行の可否(どの応答で Retry-After に従うべきか)や、429 の意味づけは判定しません。
ご利用にあたって
- RateLimit・RateLimit-Policy は IETF の草案にもとづく読み取りで、仕様が変わる可能性があります。RFC として確定したものではありません。
- 結果は仕様にもとづく換算です。実際にいつ再試行してよいかは、各サービスの案内と応答の内容も合わせて確認してください。