WSGIでは、ヘッダーは環境内で「HTTP_XXX」値として表されます。たとえば、値Cookie:
ヘッダーは環境のHTTP_COOKIE
キーに格納されます。
同じヘッダー名を持つ複数のリクエストヘッダーはどのように表されますか?
複数の Cookie は、セミコロンで区切られた単一のヘッダーに結合されます。
HTTP 仕様では複数のヘッダーが許可されていますが、特定の種類のヘッダーに対してのみ許可されており、これらのヘッダーを 1 つに結合することは常に許可されています (ただし、セミコロンではなくコンマを使用しています)。
これに対する答えは些細なことだと思っていましたが、少し掘り下げた後、よくわかりません。
これまでに見つけたものは次のとおりです。
WSGI PEP-333 ( http://www.python.org/dev/peps/pep-0333/ ) は、環境変数に CGI 仕様が示す内容を含める必要があることを示唆しています。
CGI仕様(見つけるのが難しくなり、多くの壊れたリンクがあり、draft-coar-cgi-v11-03で見つけることができるのが最善です)はメタデータについて話し、言います(セクション6.1.5)
"。同じフィールド名を持つ複数のヘッダー フィールドが受信された場合、サーバーは、メタ変数で表現される前に、同じセマンティクスを持つ単一のヘッダー フィールドとして受信されたかのように、それらを書き換える必要があります"
これは、同じキーを持つ複数のヘッダー行がある場合、何らかの形でそれらを 1 行に結合する必要があることを示唆しています。
例として、HTTP_COOKIE は、すべての key=value ペアをセミコロンで区切って 1 行に連結することで、これをサポートします。