- ベストアンサー
CGIについて!!
CGIについて以下の質問を答えられる方教えてください。 1.何を目的として作られたか? 2.いつ開発されたのか? 3.いったいどういうものなのか?どういう仕組みで動いているのか? 4.はじめて登場してから現在にいたるまでの歴史は? 誰かこの答えがわかる人がいたら教えてください。全部わからなくてもいいので、一つでも知ってる人がいたら教えてください。お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
1.目的はWebサーバとプログラムの連携です。 一番多い用途は動的なページの生成かもしれませんが、何しろ、この仕組みによって、一方的な情報配信の仕組みだったWWWがインタラクティブな物への変わりました。 2.時期については、正確にはわかりませんが、仕組みがRFCによって提唱されたのは、かなり昔では無いかと思います。 3.Webサーバとプログラムが情報のやり取りをする為のプログラミングインターフェースです。 よく、CGI=Perlと思ってらっしゃる方もいますが、CGIとは特定の言語等を表す言葉ではないんです。 正式名称は、Common Gateway Interfaceです。 どういう仕組みと言うほど複雑なものではありません。 先に書いたように、連携の為の言わばお約束です。 このルールにのっとってプログラムを書けば、ちゃんと情報をやり取りできるというようなものですね。 基本的には標準入出力を使って、情報をやり取りする事になっているため、標準入出力が扱えるプログラム言語であれば何でも使用できます。 世の中でPerlがCGIと混同される原因となった背景には、Perlは本体さえおいておけば、コンパイルの必要なくスクリプトが動かせるため、CGI用の言語としては非常に手軽に使用できたからです。 標準入出力はもちろん、テキストを扱う枠組みにも優れていて、Web上で扱うデータの大半はテキストである事から、CGI向けの言語として名前が売れる事になりました。 プロバイダがサーバ上で許可しているならば、Per以外にもいろいろ選択肢はあります。 ただし、C等のコンパイル言語を使うためには、そのサーバで動くバイナリを作らなければなりませんから、自分でサーバを持ってない限り中々難しいでしょう。 CGIはインターネット黎明期からある古い仕組みですから、今となってみるとパフォーマンス等に様々な問題を抱えています。 最近では、ASPやJSP、PHPといったサーバサイドスクプト系の仕組みもありますし、Javaサーブレットのような物もありますが、手軽さ・シンプルさという点では、まだまだCGIの出番はあるでしょうね。 4.については、詳細はよく知りませんので、上記の中で触れた程度で勘弁してください。 知見のある方、何か間違った説明があったらフォローお願いします。
お礼
ありがとうございます!!すっごく役に立ちます!!ありがとうございました!!