RFCによると、「Cookie」HTTPヘッダー内の個々のCookieは、セミコロンだけでなくコンマでも区切ることができます。ただし、ASP.NETはコンマの大文字と小文字を正しく解析しません。コンマを区切り文字としてカウントしませんが、値の一部と見なします。
たとえば
、クライアントがヘッダーを送信した場合Cookie: a=b, c=d
、ASP.NETアプリケーションには、値が「b、c=d」の「a」という名前のCookieが1つだけ表示されます。
特別な場合として、クライアントがすべてのCookieを1つのヘッダーに結合するのではなく、複数のCookieヘッダー(Cookieごとに1つ)を送信する場合にも同じことが起こります。HTTPの観点からは、これは完全に有効です。このような場合、ヘッダーの有効な値は、コンマで区切られたすべてのインスタンスの値を連結する必要があります。
誰かがこれの回避策(またはおそらく修正?)を知っていますか?私はクライアントを制御していないので、これを機能させる必要があります。
PSこのスレッドによると、.NET組み込みHTTPクライアント(別名HttpWebRequest)の動作が正反対であり、問題を引き起こすのは皮肉なことです。:-)