『CGIって何だろう?』

さて第一回目の「CGI初心者の間(ま)」。まずはあなたに御質問。掲示板やチャットは一般的にCGI(シージーアイ:Common Gateway Interface)と呼ばれていますが、さてCGIとはいったいなんなのでしょう?「言葉自体はよく見聞きするし、だいたチャットや掲示板のことっていうのはわかるのだけど、でもよくわからない」という方が多いのではないでしょうか?

ここで、ネット上にある用語辞典のページに記載されているCGIについての説明を見てみることにしましょう。

●『インターネット用語辞典Ver3b2』(http://www.hi-jax.com/DIC/
『ユーザーからの要求によってサーバ側で実行されるプログラム。よく見る「あなたは29351人目のお客様です」や、サーチエンジンの検索システム、チャット、伝言板などに使われている。貧弱なHTMLを補強して、ホームページをバラエティにする反面セキュリティの問題が残るので、どこでもこれをやるときはCGIの処理を受け持つ専用のサーバを立ち上げ、セキュリティを万全にする必要がある。』
●『情報・通信事典 e-Words』(http://www.e-words.ne.jp/
『Webサーバが、Webブラウザからの要求に応じて、プログラムを起動するための仕組み。従来、Webサーバは蓄積してある文書をただ送出するだけであったが、CGIを使うことによって、プログラムの処理結果に基づいて動的に文書を生成し、送出することができるようになった。類似の技術にはSSIやASPなどがある。』
●『ASCII Glossary Help』(http://www.ascii.co.jp/ghelp/
『WWWサーバのシステムにおいて,HTMLから外部のプログラムを起動して,その結果をWWWクライアントへ返すための仕組み.HTMLだけでは記述できないような動的なページを作成することができる。たとえば,ユーザーの入力したフォームのデータをサーバ側へ読み込んだり,ユーザーからの指令に従って表示内容やその応答を変えたりするために使用される.また,ユーザーのアクセスカウンタ(そのページがアクセスされた回数を表わす数値のカウンタ)なども,このCGIを使って実現されている。WWWサーバと,CGIを通して起動されるプログラムは,通常は標準入出力を使ってデータをやり取りする。』
●『通信用語の基礎知識2000後期版』(http://www.wdic.org/
『WWW で, WWWブラウザからの要求に対してサーバが別のプログラムを起動し, 結果をWWWブラウザに返す処理を行なうためのインターフェイス. イメージマップ, アクセスカウンタ, 訪問者登録, 掲示板(BBS)などを実現する際に利用されている.』

いろいろな説明がありますね。さてここで一度、CGIという語句が持つ各単語の意味を確認してみましょう。

●コモン(common)
→共通の
●ゲートウェイ(gateway)
→ネットワーク上で、媒体やプロトコルが異なるデータを相互に変換して通信を可能にする機器。通信媒体や伝送方式の違いを吸収して異機種間の接続を可能とする。
●インターフェイス(interface)
→(コンピューターの各装置間の)境界[仲介]装置

これらの言葉を解釈すると、CGIとは「異機種間共通通信媒介装置」という日本語にまとめられると思います。その代表的なものがチャットや掲示板ということになりますが、これら以外にも、情報を検索するためのサーチエンジンや、チケットの予約を取ったり、商品を注文するのに使うフォーム送信システムなどもCGIといえます。

あえて簡単にまとめると、CGIは「異種コンピュータ・ネットワーク間におけるデータや通信を処理するプログラム」というわけです。そこで重要なのは、そのCGIのもつ機能が、基本的には利用者側の環境(OSやブラウザの種類)に左右されないという点です。

WindowsやMacあるいはNetscapeやInternetExplorerといった違いがあっても、またそのデータの保存されたコンピュータを直接操作するのではなく、インターネットなどのネットワークを通じて別のコンピュータからのアクセスでも、とにかくそのプログラムにさえアクセスできれば、データファイルを操作できる……それがCGIの特徴ではないかと思います。

アクセスカウンタやチャット・掲示板など、やっていることは結局、データファイルの作成・修正・保存及びその表示ということになりますが、そうしたCGIプログラムを作成する言語として広く使われているのが、Perl(パール)というスクリプト言語です。フリーウエア・シェアウエアとして配布されているCGIの多くがPerlで記述されているため、「CGI=Perl」と思われがちです。しかし、例えばC言語で記述されたCGIもあり、必ずしも「CGI=Perl」というわけではありません。

けれどもPerlを用いた場合、CGIの製作や修正が非常に手軽に行えるため、一般に使用されているCGIにはPerlで記述されたものがやはり多いようです。ですから逆に言えば、Perlについての知識を身につけられれば、一般的なCGIの仕組みや動作についても理解できることになります。

よって次回は、Perlについて簡単に触れてみたいと思います。

●今後どういう展開をたどるのか、かなり不安なシリーズのスタートです(汗)


このページのご意見・ご感想は?
1.とっても良かった! 2.部分的に良かった 3.まぁまぁかな 4.説明が足りないぞ! 5.期待はずれ〜 6.その他
※具体的なご意見ご感想などがあれば、下のメッセージ欄へご記入どうぞ!(未記入でも送信可)

#上記送信フォームほか、掲示板チャットでもご意見ご感想お待ちしております。なおいただいた内容は(もちろんプライバシーに配慮したカタチで)日記の話題に取りあげることがあります。あらかじめご了承ください。


サイト目次

おすすめグッズ

/ 映画 / 音楽 / テレビ番組 / プレゼント・ギフト / ホーム&キッチン / エレクトロニクス / おもちゃ&ホビー / ダイエット・健康

おすすめ情報・知識

パソコン / インターネット / メール / ホームページ作成 / CGI / Perl

おすすめネタ

雑学メモ / ときたまメモ / フリートーク

おすすめ特集

「Kissin' Christmas CD化」計画 / 「フォーク並び」推進計画 / 追悼ステファン・グラッペリ 他、いろいろ。

おすすめCGI

CGI更新状況 / 日記 / チャット(P.M.10:30〜かも?) / 掲示板 / 画像投稿掲示板 / お絵かき掲示板 / ご意見・ご感想

おすすめリンク

サイト内検索

[ ↑このページの先頭へ移動するこのコーナーの目次を表示する ]
注)このページ自体が目次ページという場合があります。