2017-01-19 13 views
1

Google Chromeバージョン55.0.2883.95(64ビット版)とバージョンMozilla 50.1では、同じURLを使用しています(お客様の機密性のためURLを公開できません) .0しかし、Google ChromeとMozillaのブラウザのレスポンスヘッダーフィールドは異なります。Google ChromeのPascalにHTTP/2レスポンスヘッダーフィールドがありません

Googleのクロムに応答がある: -

HTTP/2 200 アクセス制御許可起源:* コンテンツエンコード:GZIP コンテンツタイプ:アプリケーション/ JSON;のcharset = UTF-

ヘッダフィールド8パスカル場合ではなく、Mozillaの上の応答がある: -

HTTP/2 200 アクセス制御原点-許可:* コンテンツエンコーディング:gzip コンテンツタイプ:application/json; charset = UTF-8

ヘッダーフィールドはパスカルの場合です。フィールド値: - 物品のRFC2616のセクション4.2(https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html sec4.2)ごとである

今は知っている、

言う「( 『)各ヘッダフィールドはコロン名から成ります』。 フィールド名は大文字と小文字を区別しません。 "

私の顧客は、Content-Encodingヘッダーがパスカルケースでない場合、不平を言って自分のアプリケーションでカスタムキャッシュライブラリを実行します。

可能性のある修正点はありますか?ありがとうございます。

+2

また、RFC 2616は本当に時代遅れです。 HTTP/1.1の場合、正しい仕様はRFC 7230,7231などです。 –

答えて

4

HTTP/2 specificationは、ヘッダが小文字の事前符号化に変換されなければならないという事実についてはっきりしています。

ワイヤを介して、両方のブラウザは、HTTP/2仕様に従って、レスポンスヘッダーを小文字で受信します。

Chromeはヘッダー名をそのままアプリケーション層に渡しているようですが、Firefoxは少なくとも既知のヘッダー名についてはパスカルの場合を復元しようとしています。

いずれかのブラウザに問題を提出することはできますが、問題が解決されるかどうかは疑問です。

本当の問題は、HTTPヘッダー名が最初から大文字小文字を区別しないという事実を考慮して顧客の壊れたキャッシュライブラリです。

あなたができることは、使用している技術によっては、壊れたキャッシングライブラリにアクセスする前に、ヘッダ名のパスカルケース変換を行うアダプタレイヤーを書き込むことです。

関連する問題