Firefox 35 を使用して HTTP プロトコルをデバッグしていますが、奇妙な点が見つかりました。
サーバー応答ヘッダーは次のとおりです。
HTTP/1.1 401 Authorization Required
Date: Tue, 27 Jan 2015 06:12:00 GMT
Server: Apache/2.2.27 (Win32) mod_ssl/2.2.27 OpenSSL/1.0.1j DAV/2 SVN/1.8.11 mod_auth_sspi/1.0.4
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="SSPI realm (SSPIOfferBasic On)"
Content-Length: 401
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
しかし、Firefox は 2 つのWWW-Authenticate:
行を結合するため、非常に誤解を招くように見えます (下のスクリーンショット)。これを修正する方法はありますか? (おそらく秘密の設定の調整)
httpfox のような拡張機能を試しましたが、同じ問題が発生します。
答え1
これはバグではありません。RFC 2616
同じフィールド名を持つ複数のメッセージ ヘッダー フィールドがメッセージ内に存在する可能性があるのは、そのヘッダー フィールドのフィールド値全体がコンマ区切りのリスト [つまり、#(値)] として定義されている場合のみです。メッセージのセマンティクスを変更せずに、後続の各フィールド値を最初のフィールド値にコンマで区切って追加することで、複数のヘッダー フィールドを 1 つの「フィールド名: フィールド値」ペアに結合することが可能でなければなりません。したがって、同じフィールド名を持つヘッダー フィールドが受信される順序は、結合されたフィールド値の解釈に重要な意味を持ちます。したがって、プロキシは、メッセージが転送されるときにこれらのフィールド値の順序を変更してはなりません。