1

RFC 2616の私の読書は私の質問回答していない:複数なAccept- *ヘッダ

がどのようにサーバーが複数の解釈すべき受け入れをのAccept-エンコーディングなど、言語を受け入れ、ヘッダー?

これは一般的にはまれではありませんが、実際にはすべてのHTTPクライアントが実際に必要としていると仮定するのは遠いです。

Accept-Language: en 
Accept-Language: pt 

サーバーする必要があります:

  1. は結果を組み合わせ、効果的なAccept-Language: en, pt

    は、HTTPリクエストには、以下が含ま想像しますか?
  2. 唯一の最初のもの(en)?
  3. 最後の1つ(pt)のみを尊敬しますか?
  4. (おそらく、400件のステータスを返す?)hissyフィットを投げ

オプション#1が完全にブレークする私にとって最も自然、そしてクライアントが何を意味するのかである可能性が最も高い、そして最も可能性が高いと思われますクライアントが何を意味するものではないとしても、

しかし、これらの状況をどのように処理するかについて実際には(理想的にはRFCで指定された)ルールがありますか?

答えて

4

1)古いRFCを見ています。 RFC 2616は2年前に廃止されました。

2)答えは1です。 https://greenbytes.de/tech/webdav/rfc7230.html#rfc.section.3.2.2.p.3を参照してください: "受信者は、メッセージのセマンティクスを変更することなく、各フィールド値を組み合わせフィールド値に順番に追加することによって、同じフィールド名を持つ複数のヘッダーフィールドを1つの"フィールド名:フィールド値 "カンマで区切って(...) "

+0

あなたの優れたGoogleフーをありがとう! – Flimzy

+0

これはすべてのヘッダーに当てはまらないということも付け加えておきます。たとえば、Content-Lengthヘッダーは一意でなければなりません。 – regilero

+0

受信者がカンマ再結合を行うことができるということは事実です。それは単にゴミが送られて別のゴミに変わったということです。 –

関連する問題