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

CGI(Rb)からWebSTARに指定したResultコードを返すには?

発言者:kmbp
( Date Monday, June 11, 2001 22:24:51 )


いつも参考にさせていただいています。

早速ですが、田中先生が解説して下さっているドキュメントを参考にさせて
いただきながらREALbasicでCGIを、ちょくちょく書いているのですが、
CGI自体は、とても快調に動いてくれているものの、analogなどでログを解析
してみるとResultがない行が増えて来ました。

そこで質問なのですが、WebSTARのログ(ウインドウ)に「200」「304」「403」
などのResultコードを返すには、どのようにすれば良いのでしょうか?

宜しくお願い致します。

田中求之 さんからのコメント
( Monday, June 11, 2001 23:35:46 )

>analogなどでログを解析
>してみるとResultがない行が増えて来ました。

どういうことでしょうか? CGI が返す HTTP ヘッダのことではないですよね?

サーバ側から見れば、CGI に処理を無事に任せた時点で、その処理自体の
結果には関係なく、コネクションの処理は OK だったということになります。
ですから、CGI の実行結果を WebSTAR のログに反映させることはできない
のですが…??

kmbp さんからのコメント
( Tuesday, June 12, 2001 00:08:27 )

>どういうことでしょうか? CGI が返す HTTP ヘッダのことではないですよね?

書き方が下手で申し訳ありません。
ブラウザへは適切なHTTPヘッダを送り出しているのですが、通常、他のCGIやPlug-inに
リクエストがあった場合、以下のようなメッセージがWebSTARのステータスウインドウに表示
されます。

06/11/01 23:40:57 OK 200 ***.***.*.** Mozilla/4.7 [ja] (Macintosh; I; PPC) …
06/11/01 23:40:57 OK 304 ***.***.*.** Mozilla/4.7 [ja] (Macintosh; I; PPC) …

上記の場合の「200」や「304」に相当する箇所なのですが、ここがRbで書いたCGIの場合、
以下のように全て「-」という風にWebSTARのステータスウインドウに表示され、
WebSTAR Web.logにも「-」と記録されてしまいます。

06/11/01 23:40:57 OK - ***.***.*.** Mozilla/4.7 [ja] (Macintosh; I; PPC)…以下省略

この「-」の部分をCGIが正しくリプライ出来た場合に「200」と表示させ、ログにも記録した
いと考えているのですが…。

田中求之 さんからのコメント
( Saturday, June 16, 2001 16:57:13 )

詳しく調べてはいませんが、Result Code の部分は、Web サーバがリクエストの
処理を行った時しか、やはり記録されないと思います。Web サーバは CGI の
処理およびその結果返す HTTP ヘッダの内容(ステータス・コードなども含む)
には一切関知しない(関与しない)ですから(単にデータの中継役に徹します
から)。