おもこん

おもこんは「思いつくままにコンピュターの話し」の省略形です

cgiの作り方(1)

サーバとクライアント

ウェブサーバ

サーバとはサービスを提供するコンピュータのことで、ウェブサーバとは、ウェブのサービスを提供するコンピュータです。例えば、Yahoo Japan のコンピュータはウェブサーバです。コンピュータのブラウザ(インターネット・エクスプローラ(以下IEと略)やファイヤーフォックス(以下FX)などウェブを読むことのできるソフト)を使ってYahoo Japanのアドレス(http://www.yahoo.co.jp)にアクセスするとおなじみの画面が出てきますね。これを詳しく説明すると、まず、Yahoo Japanのウェブサーバがブラウザに対して、Yahoo Japanのホームページのhtml文書を送ってきます。それを受けとったブラウザがhtml文書を解読してあの画面に変換して表示しているのです。ブラウザの動作しているコンピュータをクライアントと言います。

サーバとクライアントの両側通行

html文書の場合、情報はサーバからクライアントへの一方通行です。それに対して、クライアントからも情報をサーバに送ることができたらどうなるかを考えてみましょう。いくつか例をあげます。

・ ブログのコメント機能。サーバが提供したブログの本文に対して、読み手がクライアントのブラウザからコメントをサーバに送り、書き込みができる。
・ インターネットショッピング。ウェブ画面に表示された商品の中から、読み手が買いたい商品をサーバに送り、注文する。
・ 掲示板。読み手が掲示板に書き込みができる。
・ アンケート。対象となる人々にウェブページからアンケートに答えてもらい、集計する。
・ ファイルマネージャー。FTPを使わずにhtml文書の転送ができる。

こういう機能を実現するには、
1 ブラウザからサーバにデータを送る機能
2 送られたデータをサーバ側で処理する機能
が必要です。

1番目の機能は、html文書の<FORM>~</FORM>タグとその中に書き込む一連のタグで実現できます。後ほど詳しく述べますが、テキストの入力枠、チェックボックス、ラジオボタンなど、いろいろな形でブラウザに表現できます。

2番目の機能はCGIで実現できます。CGIとはウェブ・サーバから起動されるプログラムで、言語としては、Perl、Ruby、Python があります。この他に、PHPとか、JAVA SERVLETもサーバ側で動くソフトです。今回はPerlをとりあげて解説します。