このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

QPQ-長いGETでタイプ2のエラー

発言者:Shin
( Date Thursday, November 15, 2001 18:45:26 )


Quid Pro Quo 1.0.1でサーバーを運用しているのですが、
J-Skyから掲示板への書き込みを可能にするために
フォームをGETで処理するCGIを組み込んでいます。

しかし、少し長い文をGETで送信しようとすると
アクセスした途端にタイプ2で異常終了してしまいます。
CodeRedの様に、ログにも残りません。

試しに長い架空の文字列をGETしてみましたが、
やはり異常終了しました。

古めのJ-PHONEではPOSTが出来ないため困っております。
何か良い方法は無いでしょうか。
よろしければアドバイスをお願い致します。

田中求之 さんからのコメント
( Thursday, November 15, 2001 22:16:20 )

長い文というのは、どの程度の長さですか? 日本語で何文字ぐらいですか?

GET 自体に容量制限がありますので(もちろん、FORM のタグ情報なども
含めた総量)、余り長い文章は送れないものですが。

もちろん、QPQ 自体が、長い GET を受け取る処理の部分でこけている
可能性はあります。

Shin さんからのコメント
( Friday, November 16, 2001 17:50:21 )

レス有り難うございます。

日本語にすると大体100文字以上送るとダメみたいです。
ちなみにJ-Skyは機種によっては5000ByteまでGETで送れるみたいですが・・・

田中求之 さんからのコメント
( Friday, November 16, 2001 23:26:35 )

MacHTTP の時代(1994年ごろ)には GET には 512 バイトという制限があり
ました。これが MacHTTP の仕様なのか、Web の仕様だったのかは忘れまし
たが、いずれにせよ、GET で長いメッセージを送ることは想定されていな
かったことがあります。

日本で100文字だと、バイト数にすると、最大で約600バイトになる
可能性がありますから(URL エンコードされる際に、ASCII 128 以上の文字
は3バイトになるので、日本語1文字=2バイト→6バイトになることが
ある)、QPQ も、512 バイトという制限がかかっている(MacHTTP の仕様に
合わせてある)可能性が高いですね。

ただ、それにしても、システムエラーを出すというのはいただけませんね。
これは QPQ のバグだと言ってもよいと思います。もっとも、今となっては
バグを修正してもらえる可能性は皆無ですが…

Shin さんからのコメント
( Saturday, November 17, 2001 17:34:25 )

そうゆう軌跡があったとは知りませんでした・・
旧機種向けにはとりあえず、最大文字数を64文字に設定しておきます。

丁寧なレスをどうも有り難うございました。