「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Common Gateway Interface

pointこの用語のポイント

pointWebサーバ上でプログラムを動かすための仕組みだよ

pointWebサーバ上で(クライアントからの要求に応じて)動くプログラムを指していることもあるよ

pointプログラムがその場でページを作って返すよ

point「CGI」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Common Gateway Interface(読:コモン・ゲートウェイ・インターフェース)とは

いわゆる「CGI」のこと。
用語の中身としては

(回らない)お寿司屋さん方式でホームページを表示するための仕組み
……と言われても分かりませんよね。

「ホームページをおくれよ」な注文に対して(何かお仕事をした後に)その場でホームページのファイルを作って返すための仕組み
であり

Webサーバ(ホームページのファイルが置いてあるコンピュータ)上に置いてある(クライアントからの要求に応じて動く)プログラムを動かすための仕組み
です。
よく分からなければ

ホームページでプログラムを動かすための仕組み
と解釈しても かまいません。


image piyo

詳しく書くよ

最初に留意事項です。
CGI」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
CGIの正式名称(?)が「Common Gateway Interface」です。
Common Gateway Interface」の頭文字を取ったのが「CGI」ね。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)

※「Common Gateway Interface」を何となく日本語にすると「共通の出入口の接点」となります。[詳細]

以上が「CGI」の意味を知っている人向けの説明です。

「CGIって何だっけ?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩2

それでは、いってみましょう。
まずは予備知識として、ホームページが表示される流れについて簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)2

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)3

お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)4

これが、ホームページが表示されるときの流れです。

以上を踏まえて

(回らない)お寿司屋さん方式でホームページを表示するための仕組み

が「Common Gateway Interface」です。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)5

上でも書きましたが、一般的には「CGI」と表現されます。
※本ページでも以降は「CGI」と表現します。

「お寿司屋さん方式」とか言われても、今の時点ではサッパリ分からないと思います。
我慢して読み進めてください。
多分、そのうち分かります。

突然ですが、スーパーで売っているお寿司は作り置きです。
事前に作って用意しておくので、お客さまを見て、後からサビ抜きにしたり、ネタの種類を変えたりは、できません。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)6

回らないお寿司屋さんでは、注文が入ってから、お寿司を握ります。
お客さまの顔を見て酢飯やワサビの量を調整することも可能です。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)7

普通のホームページはスーパーで売っているお寿司と同じです。
作り置きです。
前もってホームページのファイルを用意しておいて、注文が入ったら、そのファイル(事前に作って用意しておいたファイル)を渡します。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)8

普通のホームページでやれることは

事前に作っておいたホームページのファイルを渡す

だけです。
誰から注文が来ても同じファイルを渡します。

一方、CGIではページを作り置きしません。
「このページをおくれ」な注文が来たときに、Webサーバ上にいるプログラムが、その場でホームページのファイルを作って返します。
ファイルを作るついでに他のお仕事をする場合も あります。

CGIの仕組みで返されるホームページのファイルは出来立てホヤホヤです。
お寿司屋さんのお寿司と同じです。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)9

繰り返しになりますが、CGIでは、注文が入ってからホームページのファイルを作ります。
これが何を意味するかというと

お客さまによってページの見た目を変えたり、裏でこっそり別のお仕事をやれる

ということです。

例えば「ホームページのファイルをちょうだい」と言ってきたのがピヨ太君だとしたら、作るファイルの中に「ピヨ太君いらっしゃい」と入れられます。
これがピヨ子さんだとしたら「ピヨ子さんいらっしゃい」になるでしょう。
注文する人に応じて、作るファイルの内容を変えられるのです。

また、ホームページのファイルを作るプログラムさんは、ファイルを作るついでに他のお仕事をやれます。
例えば「今日、ピヨ太君が遊びに来たよ」といった履歴ログを残したりですね。
他にも、メールを送ったり、何らかのデータ保存したり、いろいろなお仕事をやれます。

本来の意味で言えば、この一連の流れを実現するための仕組みがCGIです。

1.ホームページを見る人の注文をWebサーバ上にあるプログラムが受ける
2.注文を受けたプログラムが何かお仕事をする
3.注文を受けたプログラムがホームページのファイルを作って、ホームページを見る人に渡してあげる


の流れですね。
この流れを実現するためのあれやこれやがCGIです。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)10

ただし!です。

ここで1つ気を付けなくてはいけないことがあります。

実は、ですね。

この流れに出てくる「ホームページを見る人の注文を受けるプログラム」を指して「CGI」と呼んでいる人も少なくありません。
例えば「お問い合わせメールを送信するプログラムを作ってよ」の意図で「お問い合わせCGIを作ってよ」と言ったりですね。

Common Gateway Interface(コモン・ゲートウェイ・インターフェース)11

一応、頭の片隅にでも置いておいてあげてください。
本来は「Webサーバ上でプログラムを動かすための仕組み」がCGIです。
ただし「Webサーバ上で動くプログラム」を意図して「CGI」と表現している場合も あります。
どちらを指すかは文脈から判断してください。

なお、ここまでの説明がよく分からなかった人は

1.注文が来てからホームページのファイルを作る
2.注文が来たときにファイルを返す以外の仕事(処理)ができる


の2点を頑張って押さえてください。
それさえ押さえておけば、そこまで困ることはないと思います。


image piyo2

一言でまとめるよ

まぁ「Common Gateway Interface」って単語が出てきたら「CGI(Webサーバ上にあるプログラムを動かすための仕組み)のことなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像065
書籍画像052

おまけ

■訳してみるよ

「common(コモン)」の意味は「共通の」とか「共同の」とかです。
「gateway(ゲートウェイ)」の意味は「門」とか「出入口」とか「玄関」とかです。
「interface(インターフェース)」の意味は「接点」とか「境界面」とか「接触面」とかです。
何となく くっつけると

共通の出入口の接点

となります。

……よく分かりませんね。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問