IE4とNN4でCGI出力のHTMLが違う

[上に] [前に] [次に]
NAKA [E-Mail] 1998/09/17(木) 11:37:44
FORMのMETHOD="POST"でCGIを呼び出し、そのCGIはHTMLを返すのですが、IE4ではHTMLとして表示されるのにNN4ではソースそのものが表示されてしまいます。

Content-type: text/html\n\n は記述してあります。
不思議なことに、NN4でも直接CGIを呼び出すとちゃんと表示されます。POSTでの呼び出しの時にソースが表示されてしまうのです。
これはいったい何が悪いのでしょうか?
ご経験のある方や、解決のヒントをお持ちの方はどうか教えてくださいますようお願いいたします。

えへへ 1998/09/19(土) 09:33:42
ソースを見せてもらえれば見当がつきますが。
<html>タグがついていないのでは?

mura [E-Mail] 1998/09/19(土) 11:06:20
ヒントというほどにはならないと思いますが、

1.空のデータをPOSTしてみる(<INPUT>(TYPE=SUBMIT以外)<SELECT><TEXTAREA>をすべて消す)とどうなるでしょうか。
  これでもしちゃんと表示されるなら送っているデータに原因がある(プログラムが原因ではない)という
  ことになります。

2.「Content-type: text/html」以外にも「Content-type:」のヘッダを送ってないですか?
  (つまり1回の実行で2度以上送っている)
  IEでHTML表示になってNNでソース表示になるというのはこれがからんでそうな気がします。
  あくまでも想像ですが。

3.めっちゃ基本的ですが、「ソース表示される」という時に、webサーバー側のCGIではなく
  PCのハードディスクとかにあるローカルCGIを呼び出したりとかはしてないですよね??
  文面を見る限りではこういう失敗はやってなさそうですが…。

mura [E-Mail] 1998/09/19(土) 11:11:43
もう1つ。

4.「Content-type: text/html\n\n」の直後とか、あるいはもっと後ろ(<BODY>の後とか)に
簡単なHTML(「<HTML><BODY>あ</BODY></HTML>\n」とか)を書いて
そこですぐexitさせるとどうなるでしょうか。
その時にちゃんと表示されるなら、その部分までは問題ないということになります。

NAKA [E-Mail] 1998/09/21(月) 11:29:08
[[解決]]
えへへさん、muraさん、貴重なアドバイスありがとうございました。

muraさんの言う通り、空のデータをPOSTしてみるとうまく表示されるので、
きっとPOSTするデータがおかしいという観点で調査しました。
1つ1つPOSTするデータを追加していって、ある時点でおかしくなる
ことを発見し、その部分を詳細に見てみますと、なんと、デバッグ用に
記述してあったPRINT文が残っていました!
そのため、一番始めにPRINTされるのが Content-typeじゃないパターンができていたのです。なんというチョンボ!

本当にお騒がせしました。ただ、NN4で表示されたページのページ情報をみると、「ファイルMIMEタイプ:不明」となっているのが気になります。

でも、とりあえず表示されるようになりました。本当にありがとうございました。
これからもよろしくお願いいたします。

[上に] [前に] [次に]