Github APIとの統合を処理するためにOkHttpライブラリを使用するJenkinsプラグインを使用しています。If-Modified-Sinceヘッダーを設定するときに、Last-Modifiedヘッダーを扱うのと同じように、OkHttpがDateヘッダーを同じに扱うのはなぜですか?
のGithubの/レポ/:所有者/:OkHttpがリソースにアクセスすることを許可されていないトークンを使用して、リソースを要求しようとしたときにレポエンドポイントは、エラー404を返します。トークンのスコープが拡張されてリソースにアクセスできるようにすると、OkHttpはIf-Modified-Sinceヘッダーで要求を行います。ヘッダーの値は、404の応答からのDateヘッダーの値に設定されます。 Githubのサポートチームによると、最初のリクエストがあったときからリソース(/ repos /:owner /:repoエンドポイントの後ろのデータ)が変更されていないので、この動作は適切な動作です。製。ただし、これは、OkHttpクライアントがキャッシュされた404応答を使用するようになったことを意味します。
これは、Dateヘッダは、リソースが最後に変更された際にチェックしていない、新鮮さを計算するために意図されていたように思えます。 RFC 7232 section 3.3は、クライアントがDateヘッダーの値をIf-Modified-Sinceの値として使用することがあると言いますが、この動作が受け入れられることを示唆するWeb上の他の文献を参照していません。私はMozilla's documentation on the If-Modified-Since headerに日付ヘッダーの参照が表示されません。
がポステルの法則はOkHttpは、If-Modifiedの-Sinceヘッダのための別のソースとしてそれを使用して日付ヘッダを誤用しないようにしてください必要があることを示唆していますか?