HTTPヘッダの改行コードについて
[上に]
[前に]
[次に]
ベンガル
2000/03/01(水) 15:25:21
久しぶりに質問に来ました。
サーバからクライアントに送信するときの
print "Content-type: text/html\n";
print "\n";
print "ほにゃらら";
ですが、ターミナルがWindowsのときは本当は
print "Content-type: text/html\r\n";
print "\r\n";
print "ほにゃらら";
ではないかと思うのですが、どうなんでしょう?
Windowsクライアントからサーバに送ってるヘッダは\r\nのような気がするので。。。。
S-pore
[HomePage]
2000/03/01(水) 15:32:38
Winのときは,勝手に改行コード変換(\n→\r\n)してくれると思いますが・・・。
(もちろん binmode(STDOUT); とかやってしまえば話は別。)
S-pore
[HomePage]
2000/03/01(水) 15:55:43
って,よく読んでませんでした。すみません。
的外れな↑は読み飛ばしてください。
H&A
2000/03/03(金) 17:14:00
RFC 1945 (HTTP/1.0) や RFC 2068 (HTTP/1.1) を読むと、
「HTTP ヘッダの行終端文字は CRLF だけど、ヘッダを解釈するアプリケーションは LF のみの行終端を認識できるようにすることをオススメします」
みたいなことが書いてあります(流し読みなので不正確かも…詳しくは RFC 1945 の Appendix B や RFC 2068 の 19.3 をご覧ください)。
実際のところ、ほとんどのブラウザは CRLF (\r\n) でも LF のみ (\n) でも受け入れてくれるみたいです。ので、どちらでも大丈夫ではないかと思います。
もちろん、HTTP/1.0 や HTTP/1.1 での定義に従って \r\n としておくのがベストでしょう。
[上に]
[前に]
[次に]