2017-02-07 3 views
0

This page、状態:「Accept-Encoding:*」は何を意味しますか?品質には通常、あまりにも悪くないですMozillaの開発者ネットワーク、上

を*すでにヘッダーに記載されていないコンテンツのエンコーディングと一致します。ヘッダーが存在しない場合のデフォルト値です。アルゴリズムがサポートされているわけではありません。ただ好みが表現されていないことを意味する。

今私はAccept-Encoding: *と言うと、Elasticsearchが先に進んでgzipを送信することがわかりましたが、ヘッダーを省略するとプレーンなデータになります。

両方の文章が間違っていることを意味することに私には思える:

ヘッダーが存在しない場合、これがデフォルト値です。

この場合、振る舞いはAccept-Encoding: *であるかどうかにかかわらず同一でなければなりません。

これは、アルゴリズムがサポートされているわけではありません。ただ好みが表現されていないことを意味する。

これはElasticsearchにとって、正確にはgzipを送信しても問題ないようです。

私はMDNの意味を誤解していますか?そのページの情報は間違っていますか(結局は編集ボタンがあります)?それともElasticsearchがやらなければならないことをしていますか?

答えて

0

ここで間違った動作は何ですか?

編集:正確な期待される動作は、 RFC 2616(廃止)、セクションで定義された14.3 https://tools.ietf.org/html/rfc2616#section-14.3 RFC 7231 https://tools.ietf.org/html/rfc7231#section-5.3.4

私の理解では、あなた(HTTPクライアント)がElasticsearchを伝える場合は、任意のコンテンツを受け入れることができるということですサーバーは、そのデータを送信するのが好きなエンコーディング(プレーンテキストであろうとgzipであろうと)を自由に選択することができます。その後、データを正しく処理できるように、Content-Encodingヘッダーを参照してください。

2つの文章で正確に探している相手:ヘッダが存在しない場合

これがデフォルト値です。

Content-Encodingヘッダーが存在しない場合は、Content-Encoding = *と同じです。つまり、サーバーは任意のコンテンツエンコードを使用できます。つまり、サーバーが常に同じエンコード方式を使用しなければならないわけではありません。つまり、サーバーが自由に選択できるエンコード方式です。

これは、アルゴリズムがサポートされているわけではありません。ただ好みが表現されていないことを意味する。

この文は、クライアント(サーバーではない)に適用されます。 *を使用する場合、クライアントはサーバーに「ああ、あなたが使用するエンコードが何であれ、それは私にとっては大丈夫です。「どちらの場合(NO Accept-Encodingヘッダ又はAccept-Encoding = *)において

は、プレーンテキスト、GZIPまたは任意の他の符号化方式が正当であるElasticsearchの実装に関しては、私の推測は、以下の通りである。サーバとして

  • Accept-Encodingヘッダーがない場合、クライアントはコンテンツエンコーディングについても知らないと思うかもしれません。平文を使用する方が安全です。
  • サーバとして、Accept-Encodingヘッダーを受け取った場合、クライアントはコンテンツエンコーディングgzipは帯域幅を確保するのに適しています。それは十分サポートされています。

私が主に解釈しているのは、元のElasticsearchデベロッパーの回答のみが正確であることに注意してください。

限られたコンテンツエンコーディングをサポートしている場合は、*を使用しないでください。サポートしているエンコーディングを明示的に提供する方がよいでしょう。

+0

アスタリスクは、「私はすべてのコンテンツのエンコードを受け入れる」という意味ではなく、b)ヘッダーをまったく与えないときの振る舞いが同じである必要があります。 – AndreKR

+0

a)ヘッダーにまだ定義されていないコンテンツエンコーディング:スイッチのデフォルトの場合のようなフォールバックです。 コンテンツタイプを明示的に定義しなかった場合、他のコンテンツタイプはコンテンツタイプを意味します。 b)どちらの場合でも動作が同じである必要があるとは読んでいません。これは、サーバーに依存しています。これは、提案の1つを選択し、それを使用し、クライアントにContent-Encodingレスポンスヘッダーの選択肢を通知します。 –

+0

あなたの答えを編集することができます。長いコメント。とにかく、私はあなたが何を意味するのか分かりません。答えを編集して2つの文を別々に参照できますか? – AndreKR

関連する問題