HTTP 1.1 RFC を読んでいますが、次の質問に答えることができません。
次のヘッダーがあります。
Authorization: Basic Qmxvb21iZXJnOnRjbG1lU1JT, Basic
これは、Rails 3 認証パーサーが「,」文字のために文字列を正しくデコードしないため、問題を引き起こしています。これは私が知っている非常に珍しいことですが、この Apache httpd 構成を使用してこれを追加します。
RequestHeader append Authorization "Basic" early
Apache mod_header のドキュメントには次のように書かれています。
応答ヘッダーは、同じ名前の既存のヘッダーに追加されます。新しい値が既存のヘッダーにマージされる場合、既存のヘッダーとはコンマで区切られます。これは、ヘッダーに複数の値を与える HTTP 標準の方法です。
しかし、この Authorization ヘッダーでは正しくないと思います。RFC の定義では、これは許可されていません。ただし、一部のヘッダーではカンマ区切りのリストを使用できます。これがすべての HTTP ヘッダーの一般的な規則であるかどうかはわかりません。
これが正しくないという私の考えを証明するHTTP 1.1 RFC の段落を探しています。「これは分離できるヘッダーにのみ有効です」というものをすでに見つけましたが、これは証拠ではありません。
同じフィールド名を持つ複数のメッセージ ヘッダー フィールドは、そのヘッダー フィールドのフィールド値全体がコンマ区切りのリスト [つまり、#(値)] として定義されている場合にのみ、メッセージに存在する場合があります。複数のヘッダー フィールドを 1 つの "field-name: field-value" ペアに結合することが可能でなければなりません。これは、メッセージのセマンティクスを変更することなく、後続の各フィールド値を最初のフィールド値に追加し、それぞれをコンマで区切って行います。したがって、同じフィールド名を持つヘッダー フィールドが受信される順序は、結合されたフィールド値の解釈にとって重要であり、したがって、プロキシは、メッセージが転送されるときにこれらのフィールド値の順序を変更してはなりません。
意味がわかりませんが、明確な証拠を探しています。