CGIはCommon Gateway Interfaceです。名前が示すように、それはすべての「共通」ゲートウェイインターフェイスです。それは名前からとても些細で素朴です。私はこれを理解していると感じ、この言葉に出会うたびに感じました。しかし率直に言って、私はしませんでした。私はまだ混乱しています。
私はWeb開発の経験を持つPHPプログラマーです。
ページのユーザー(クライアント)リクエスト---> webserver(-> embedded PHP interpreter)---->サーバー側(PHP)スクリプト---> MySQLサーバー。
ここで、私のPHPスクリプトがMySQLサーバー、MATLABサーバー、その他のサーバーから結果をフェッチできるとしましょう。
では、PHPスクリプトはCGIになりましたか?Webサーバーと他のすべてのサーバー間のインターフェースのためですか?知りません。CGIをテクノロジーと呼んだり、CGIをプログラムや他のサーバーと呼んだりすることもあります。
CGIとは正確には何ですか?
/cgi-bin/*.cgi
どうしたの?これどうしたの?cgi-bin
サーバー上のこのディレクトリが何のためにあるのかわかりません。なぜ* .cgi拡張子が付いているのかわかりません。Perlが常に邪魔になるのはなぜですか。CGI&Perl(言語)。また、これら2つがどうなっているのかもわかりません。ほとんどの場合、私はこの2つを「CGIとPerl」の組み合わせで聞いています。この本は、Perlを使用したCGIプログラミングの優れた例です。「PHP / JSP / ASPによるCGIプログラミング」をしないのはなぜですか?私はそのようなものを見たことがない。
CでのCGIプログラミングは、私をとても混乱させます。「Cで」?? マジ?なんて言えばいいのか分からない。私はただ混乱しています。「Cで」?? これはすべてを変えます。プログラムをコンパイルして実行する必要があります。これは私のWebプログラミングに対する見方を完全に変えます。いつコンパイルしますか?プログラムはどのように実行されますか(マシンコードになるため、独立したプロセスとして実行する必要があるため)。どのようにWebサーバーと通信しますか?IPC?ソケットプログラミングを使用してすべてのサーバー(私の例ではMATLAB&MySQL)とのインターフェースをとっていますか?道に迷いました!!
CGIは非推奨になり、使用されなくなったと人々は言っています。そうですか?最新のアップデートは何ですか?
かつて、HTTP PUTリクエストにWebサーバー(Apache HTTPD)へのアクセスを許可しなければならない状況に遭遇しました。その長いバック。だから、私が覚えている限り、これは私がやったことです:
Apache HTTPDの構成ファイルを編集して、すべてのHTTP PUTリクエストを一部に渡すようにWebサーバーに指示しました
put.php
(このPHPスクリプトを作成する必要がありました)。put.phpを実装してリクエストを処理します(ファイルを上記の場所に保存します)
私はCGIスクリプトを書いたと人々は言った。真剣に、私は彼らが話していることの手がかりがありませんでした。
- 私は本当にCGIスクリプトを書いたのですか?
私の混乱が何であるか理解していただければ幸いです。(自分自身がどこで混乱しているかわからないからです)。できるだけ簡単に回答してください。派手な専門用語は本当に理解できません。少なくともこの場合はそうではありません。
編集:
この素晴らしいチュートリアル「CGIプログラミングは簡単です!」を見つけました。-CGIチュートリアル。概念を可能な限り簡単に説明しています。この記事を読んだ後、「CでのCGIプログラミング入門」を読んで、実際のコードサンプルで理解を深めることができます。このチュートリアルへのリンクをウィキペディアの記事に追加しました:http : //en.wikipedia.org/wiki/Common_Gateway_Interface