
No.2ベストアンサー
- 回答日時:
まず、基本的な事から説明します。
厳密に言うと、「CGI」はプログラムを実行する仕組みを指し、プログラミング言語ではありません。プログラムを実行する仕組みは、他に「モジュール」があります。
プログラミング言語としては、Perl、PHP、C言語、Ruby・・・などが、あります。
昔は、CGI+Perlの組み合わせが多く、CGIといえば Perlでした。
CGI = Perl と誤用されている事も多く、勘違いしている人もい多いですが、厳密に言えば、CGI と Perl は、まったく別の物です。
PHPやモジュールは比較的新しい方法で、最近は、モジュール+PHPの組み合わせも多くなってきています。
しかし、モジュール版のPHPも、便宜上、CGIと呼ばれる事が多いので、話がややこしいです。
まとめると、「CGI」は下記のような広い意味で使われます。
1:Webサーバからプログラムを実行する仕組みの1つ
2:Perlで書かれた、CGIプログラム(又は、Perlそのもの)
3:モジュールを含めた、サーバサイドプログラムの総称
文章を読む場合、「CGI」が何を指しているのか、注意しながら読む必要があります。
-------------------------------------------------------------
自分でサーバーを管理すれば、自由な組み合わせを選択できますが、一般的なプロバイダで利用できるのは下記の組み合わせです。(多いと思われる順)
CGI+Perl
モジュール+PHP
CGI+PHP
モジュール+Perl
つまり、仕組みは「CGI」か「モジュール」、言語は「Perl」か「PHP」となります。
次に、それぞれの違いについて簡単に説明します。
まず、CGIとモジュールの違いですが、CGIの方が処理が重い、モジュールの方が軽い、と言う認識で良いと思います。
モジュールの方が新しい技術で、サーバの負荷を軽減するための物です。細かい点で、メリット、デメリットがありますので、どちらを採用するかはプロバイダ次第です。
次に、PerlとPHPの違いについて。
Perlは古くから有るスクリプト言語です。登場したのは、1987年らしいです。その頃はインターネットもありませんね。Perlはテキスト処理を得意としています。HTMLの中身はテキストなので、CGIとして良く使われて来たのだと思います。
PHPの原型は1995年に作られ、1998年にリリースされたPHP3が現在のPHPに近いものらしいです。PHPは比較的新しい言語で、初めから、HTMLの処理をターゲットに作られています。
両者を比較すると、PHPが後発の新しい言語で、Perlや、他の言語の良い所を色々と取り入れています。初めからHTMLを処理するために作られていますので、その点でもメリットは多いです。現在は、完成度や、普及率の点でも問題ないと思います。
今から勉強するなら、PHPの方をお勧めします。
私は両方使っていますが(PerlからPHPへ乗り換え中です)、PHPの方が便利だと思います
。
HTMLのフォームのデータを処理する、ファイルをアップロードする、データベースを利用する、セッションを管理する・・・など、色々なケースを考えても、PHPの方が簡単にプログラムが書けます。
No.3
- 回答日時:
あー、CGI=Perlと仮定すると、現状でPerlの利点はほぼないです。
ちょっと前までは、Perlの方が過去の資産がたくさんあったのですが、今はそんな事もないかなー。
サーバも、Perlが使える所はPHPも使える所が多いし。
スピードなんかも、少なくとも体感できるほど、差はないと思いますよ。
多くの場合は、遅いのは言語のせいではなく、サーバやネットワーク状況、作り方の3つのうちのどれかが、悪いからです。
すくなくとも、素人が作り始めるのなら、全く関係ない。
分かりやすい利点もPHPの方が多いです。
しいていえば、Perlは・・・とhtmlに埋め込みと、音とか、かなりマニアックな事を書こうとしましたが、やめました。
これから勉強しようと思っているのなら、PHPで問題なしです。
うだうだ質問しないで、PHPの初心者本を買いに走りましょう。w
No.1
- 回答日時:
CGIというのは動的ホームページを作成するための仕組み
全般を指し、それを実現する為にPHP, Perl, javascript
等の言語が多数存在します。
Webサーバーによってどの言語をサポートしているかは異
なりますので、予め確認しておく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
- その他(ブログ) ランキングサイトのポイントが発生しない理由 1 2023/01/21 11:40
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI cgiの注釈が出来ない 2 2022/04/27 09:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
iDeCo
-
c-boardの文字コード
-
VBAで条件から範囲を指定して色...
-
一番簡単なCGI,掲示板の設置教...
-
/bin/awk '{print $5}'ってどう...
-
ラズパイでのCGIで、pythonソー...
-
WEBページに日付を付ける
-
(フリーの)ツリー掲示版CGI、...
-
cgiからsendmailを送信で文字化け
-
apacheでPerl CGIが作動せず、5...
-
.htaccessについて
-
Perl 別ドメインのファイル存在...
-
CGI.pmはもう古い!?
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlからphpを実行して結果を得...
-
CGIとPHPの違いってなんですか?
-
PHPとperlはどちらが初心者向き...
-
&や=、@を違うコードで表記したい
-
ファイルロックについて
-
EXCELファイルに誰がアクセスし...
-
URLに~/cgi-bin/~を隠す方法
-
KENT WEB(昨日の続きです)
-
《エクセルVBA》「他の人が該当...
-
FTPにて553エラー
-
CGIでソースがそのままでてしま...
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
VBScriptで、ファイルから任意...
-
sendmailの-fオプション記述
-
ApacheでのCGIについての質問
-
WEBデザイナーの方にお聞きした...
-
ソースを見せたくないです。
-
HTML文書の中で環境変数を使う...
-
CGIが読み書きするデータファイ...
おすすめ情報