「CGIプログラミング」に関するメモ。

とりあえず翻訳が出るのがはやかったんでビックリとしてあげといたんですが、 ゲストブックでも作ってみようかと思ってパラパラ見てみたら必ずしも無条件にオススメとはいえないようなんでメモしときます。

まず個人的に困ったのはCGIの処理の全体象がわからないこと。
いちおう「ブラウザ←→サーバ←→CGIプログラム」といった図はあるんですが、 もうちょっとつっこんだ流れが知りたかったんですよね。 たとえば

  1. まずformタグを含むhtmlファイルをブラウザが読み込む。
  2. inputタグで指定されたフィールドにデータを入力する。
  3. submitタイプのinputフィールドにより入力されたデータが転送され、 formタグのactionで指定されたCGIプログラムがサーバ側で起動される。
  4. ブラウザから送られた入力データは、formタグのmethodの指定により、 CGIプログラムに渡される。
  5. CGIプログラムはデータを処理し、結果にHTTPヘッダを付けて標準出力に出力する。 出力データはhtmlのソースであることが多いが、 プレーンテキストやグラフィックデータでもよく、その種別はHTTPヘッダで指定する。
  6. サーバはそれをブラウザに引き渡す。
  7. ブラウザはそれを表示する。
といったかんじですが(もし上の理解が間違ってたらお知らせください(^_^;))。
そういう意味で2、3、4章の「CGIへの入力」、「CGIからの出力」、「フォームとCGI」という流れは適当じゃなくて、 最初に「フォームとCGI」でフォームとCGIの関係をきちんと押さえておいて、 それから入出力の詳細を「CGIへの入力」、 「CGIへの出力」としてやるかたちの方がわかりやすかったのではないか思います。

次はperlに関してです。
この本のプログラムはほとんどがperlで書かれていますが、 perlについての説明はありません。 これはperlの解説が入るとさらに厚くなることを考えれば欠点とはいえないでしょうが、 perlに不慣れな人は本書の序文にあるようにperlの解説本を用意しておく必要があるのはたしかでしょう。

最後は、掲載されているプログラムに誤植がけっこうあるらしい、ということです。
ぼく自身はプログラムはざっと流れを見るだけできちんとチェックしてないんですが、 ひとつはミスってるところがありました。 fjでのレポートによると、けっこうそういうミスがあるようです。 まあこの点は増刷される過程で修正されていくと思いますが。

ということでまとめると、

といったところでしょうか。


Last modified: 1996/12/11