2012-01-25 12 views
1

私はHTTP 1.1 RFCを読んでおり、次の質問に答えることができません。すべてのHTTPヘッダーをコンマで区切ることはできますか?承認さえすれば

は、私たちは、このヘッダを持っている:Railsの3の承認パーサが間違っているため「」文字の文字列をデコードするので、トラブルを引き起こしている

Authorization: Basic Qmxvb21iZXJnOnRjbG1lU1JT, Basic 

。これは私が知っている非常に珍しいですが、私たちは、このApacheのhttpdの設定を使用して、これを追加します。

RequestHeader append Authorization "Basic" early 

Apache mod_header documentationは言う:

レスポンスヘッダが同じ 名前の既存のヘッダに追加されます。新しい値が既存のヘッダーにマージされると、既存のヘッダーとカンマで区切られた になります。これは、HTTP ヘッダーの複数の値を与える標準的な方法です。

しかし、私はこのAuthorizationヘッダーが正しいとは思わない。 RFC定義ではこれを許可していません。しかし、いくつかのヘッダーでカンマで区切られたリストが許可されます。これがすべてのHTTPヘッダーの一般的なルールであるかどうかはわかりません。

私はです.HTML 1.1 RFCの段落を探していますが、これは正しいとは思えません。私はすでに「これは分離可能なヘッダーに対してのみ有効です」と言っているものを見つけましたが、これは証明ではありません。同じフィールド名を持つ

複数のメッセージヘッダフィールド、すなわち、#[もしメッセージに 存在してもよく、そのヘッダの全体のフィールド値が フィールドは、カンマ区切りのリストとして定義されている場合にのみ(値)]。 メッセージのセマンティクスを変更することなく複数のヘッダーフィールドを1つの "フィールド名:フィールド値"ペアに結合することが可能でなければならない(MUST)。 コンマ。したがって、同じ フィールド名を持つヘッダーフィールドが受信される順序は、結合フィールド値の解釈 にとって重要であるため、プロキシは、メッセージの転送時にこれらのフィールド値の の順序を変更してはならない(MUST NOT)。

実際には意味がありませんが、私は明確な証拠を探しています。

答えて

2

答えは、あなたが引用されたテキストである:

「とそのヘッダフィールドのための全体のフィールド値が定義されている場合だけ、同じフィールド名を持つ複数のメッセージヘッダフィールドがメッセージに存在しているかもしれませコンマで区切られたリスト[ie、#(values)]として表示されます。

これは「承認」の場合ではありません。

+0

他に何も見つかりませんでした。これは7時間の睡眠の後のようです:-) – lzap

関連する問題