※ ChatGPTを利用し、要約された質問です(原文:Content-Typeのcase-insensitive)
Content-Typeのcase-insensitiveについて
このQ&Aのポイント
Content-TypeヘッダはRFC2045によって定義されており、大文字小文字の区別はありません。
解説サイトやRFC2045内のサンプルでも、Content-typeと書かれていることがあります。
もしContent-Typeが大文字小文字を区別する場合、Content-typeが指定されない場合はデフォルトのtext/plainではなく、指定が必要です。
Content-Typeのcase-insensitive
ちょっとCGIと外れるかも知れませんが、
RFC2045の11ページ目によるとContent-Typeヘッダは
content := "Content-Type" ":" type "/" subtype
*(";" parameter)
; Matching of media type and subtype
; is ALWAYS case-insensitive.
と定義されていますが、
"Content-Type"の部分は大文字小文字の区別はあるのでしょうか?
解説サイトなどでは、よく、Content-typeと書かれている所を見かけますし、
RFC2045内のサンプルもContent-typeと書かれていますから。
RFC2045を別のRFCで上書きされてるかとも思いまして。
Content-Typeだけでなく、Content-Dispositionやそれ以外のヘッダも関係すると思いますが。。。
もしcase-insensitiveなら、Content-typeがありContent-Typeがない場合はデフォルトのtext/plainではなく、Content-typeの指定で受けなければならないですよね。
本来はcase-sensitiveだけど、現実的にはバラバラだからcase-insensitiveをサポートしろって感じもしますが(^^;
http://www.ietf.org/rfc/rfc1049.txt
http://www.ietf.org/rfc/rfc2045.txt
http://www.ietf.org/rfc/rfc2231.txt
お礼
回答ありがとうございます。 なるほど、HTTPの規格になるんですね。 ということで、SMTPのRFC2821を読むと、やはりcase-insensitiveと書かれていました。 どうやらこういう規格はどれもcase-insensitiveのようですね。
補足
Reply-To: one@example.com reply-to: other@example.com という二重に書いたヘッダをMac Thunderbird 1.0.6 (20050716)で見てみると 返信先 one@example.com(返信ボタンでアドレスに入力される) Reply-To: other@example.com (ヘッダ表示に表示される) というちょっと謎な表示になりましたが、 HTTPヘッダと違って二重に送ったらダメだっけ?と思いつつも、調べるのが面倒なので、 全部大文字か小文字に変換して連想配列で上書き、そのまま送信してしまえばいいか、みたいな感じですかね。 ありがとうございました。