「CGI」ってなんですか?教えてください。よく『「CGI」作成サービス付!!』って感じでみます。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

CGIとはCommon Gateway Interfaceの略で、WWWサーバとバックエンド・プログラム間での情報の送受信に使用するインタフェースのことです。

つまり、ホームページ上のアクセスカウンタやテキスト入力フォームやメールデコーダ、BBSなど対話型(動的)のホームページ作成する技術の1つです。しかし、セッション管理やセキュリティに問題があります。
ちなみに開発言語としてUNIXサーバではCやPerl、Windows NTサーバではVisual Basic、Visual C++などを使用するようです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。ところでバックエンド・プログラムってなんですか?ごめんなさい。そこだけ言葉がわからなくて・・・今後も宜しくお願いします。

お礼日時:2000/12/17 17:17

CGIには二つの意味があります



CGImage・・・コンピュータグラフィックス

で、多分知りたいのはこちらでしょう。
・・・何の略だったか忘れましたがサーバーに対する処理のことです。
普通のHTMLやJavaScriptは、サーバーに対する処理でもなんでもなく
ページを見ているクライアントの、ブラウザに流れてくる
単なるテキストです。
それに対してCGIは、クライアントへ流れる前にサーバーによって処理され
その結果がクライアントのブラウザに来るものです。

ですから、ただブラウザの機能をいじるJavaScript等と違って
データの集計や記録ですとかそういった事に利用出来ます。

因みにCGIは非常に簡単なプログラミング言語で書かれています。
サーバーが処理できる形式であれば、どんな形式でもいいのですが、
最も良く使われるのはPerlというテキスト処理に長け
極めて見難いプログラミング言語です。

サーバーが処理する都合上、セキュリティ上の配慮がないと
セキュリティホールとなってサーバーの耐久を下げることにも繋がります。
ですので、ISPやサーバーによってはCGIを使えなくしているところもあります。
反対に、自由に使わせてくれるならそれも一つの売り文句になります。
    • good
    • 0
この回答へのお礼

皆さん一般人なのにすごいですね。やっぱり本とかから学んだのですか?二つも意味があったなんてしりませんでした。無料で作れるHPの検索をしたら、HPの説明のところにCGIサービスがどうのと書いてあったので、気になったんです。ありがとうございます。

お礼日時:2000/12/17 17:13

通常、HTMLでは毎回同じ物が表示されますよね?


でも、CGIをつかえば、アスセスごとに違う物を表示(カウンター)させたり、アスセスしている側のアクションにより表示される内容を変えたり(掲示板)ということができます。
ただ、このCGIというのは、一種のコンピュータープログラミングであるため、知識のない一般にはなかなか難しい物があるのです。
そこで、CGI作成サービスというものがでてくるんですね。
CGIについては、たくさん紹介サイトがありますので、ディレクトリ検索(Yahooなど)してみてはいかげでしょうか?
    • good
    • 0
この回答へのお礼

やさしい言葉で教えてもらってありがとうございます。とても分かりやすいです。検索もしてみます。

お礼日時:2000/12/17 17:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qcgiで拡張子.cgiと拡張子.plの違いってなんですか?

標記の違いはなんでしょうか?
私の使っているサーバがどうも.plしか対応しておらず、困っています。もし、cgiのスクリプトを変形して使えるのであればその方法も教えていただけると助かります。

Aベストアンサー

普通のウェブサーバでは、.cgiはCGIプログラムを見分ける為に使います。つまり、使用言語に関わらず、CでもPerlでもPHPでも、『CGIで』動かすなら.cgiを判断基準にする場合が多いです。これはサーバの設定次第なので、もし設定で.plになっているだけなら、PerlだろうとCだろうと.plで動くと言う事です。(但し、Perl以外の動作環境があるかどうかはサーバ次第です。)

また、普通のウェブサーバでは、.plはPerlコードをウェブサーバが直接解釈する時に使ったりもします。これはCGIのように外部プロセスを起動するのではなく、mod_perl等を用いてウェブサーバ内で解釈してしまうものです。サーバにmod_perlがインストールされている事が前提です。

前者であれば、配付されているCGI等も.cgiを.plに変えて、後は普通に設置すれば動くのがほとんどでしょう。(動かないとすれば別の理由が有力かと思います。)後者であれば、場合によっては若干手を加えなければならないかもしれません。

Qfutomi's CGI Cafeの「清き一票!(投票CGI)」のコメント欄を増やしたいのですが

どなたかご存知であればご教授下さいませ。
futomi's CGI Cafe様の「清き一票!」というCGIを使いたいと思っているのですが、ハンドルネームを書く欄と、コメントを入れる欄の2つが標準で設置されています。
この欄の数をあと2つ程増やしたいと思っているのですがどうも上手くいきません。

○お名前
○電話番号
○メールアドレス
○その他コメント

以上4つの項目を独立した欄の状態で登録しできるようにCGIを改編するにはどのようにすればいいのか、
教えていただけましたら幸いです。
どうぞ、宜しくお願いいたします。

Aベストアンサー

書き込みができているのなら、kiyolist.cgiの171
my ($TimeStamp, $IpAddress, $VotedItem, $Handle, $Comment,$tuikabunn1,$tuikabunn2) = split(/,/, $$LogDataList{$key});
とすれば出る。

split(/,/ は , ←で1行を分けて、=の前の変数に一つずつ入れていく。
, ←で分けるって事は、入力文中に , があると変な所で分けられちゃう。
でも、「太郎,私は,いいました。」
太郎, 私は, いいました。の3つになっちゃう。
スクリプト中のCommentがある所には、(できれば理解して)同じようにするのとログ(保存されるテキスト)の中には、htmlのタグがない事。
ウィルスとか仕込まれちゃうからね。
無責任だけど大丈夫かな。
Commentには、,を、に直す仕組みが用意されてるだろうし。
My宣言も多様してるし、モジュールも使ってるし、特殊変数もけっこうつかってるし、変数名が日本語ローマ字じゃない(苦笑)、からわかりにくいと言えばわかりにくいけど。

他に4つ入力があるのを探した方が、早いかも。
Perlで失敗するとサーバに迷惑をかけて、追い出されちゃうかもしれないし。
とはいえ、おいらもPerlは改造からはじめたんだけど。

書き込みができているのなら、kiyolist.cgiの171
my ($TimeStamp, $IpAddress, $VotedItem, $Handle, $Comment,$tuikabunn1,$tuikabunn2) = split(/,/, $$LogDataList{$key});
とすれば出る。

split(/,/ は , ←で1行を分けて、=の前の変数に一つずつ入れていく。
, ←で分けるって事は、入力文中に , があると変な所で分けられちゃう。
でも、「太郎,私は,いいました。」
太郎, 私は, いいました。の3つになっちゃう。
スクリプト中のCommentがある所には、(できれば理解して)同じようにするの...続きを読む

QCGIってなんでしょうか?

最近htmlをメモ帳で地味に作ってたらCGIというものを知りました。CGI
とは具体的に言うとHPにどのような機能を備えたい時に使うんでしょうか?またhtmlみたいにメモ帳から作れるものでしょうか?常識はずれな質問かもしれませんが、宜しくお願いします。

Aベストアンサー

CGIとはCommon Gateway Interfaceの頭文字を取ったものです。
これだけじゃ何のことか判られないと思います。
下の方々も書いておられますが、掲示板などに使用されています。

さて、極力簡単に説明しますが、通常、WEBサイトは「見る」ことしかできません。
お作りになっているページもHTMLで書かれていて、サイトに来られる方々もそのページを「見る」だけですね。
CGIは受け取った情報を書き込んでくれるプログラムと思ってくださればいいんじゃないかと思います。
掲示場のほか、アクセスカウンター、メールを送るためのフォームメール、日記など、いろんな種類のものがあります。
通常はプログラムを組まなきゃいけないのですが、すでに設置され、レンタルとして配布されている物が多くあります。
素人にはプログラムを組むなど到底無理ですから、ヘタに無理して設置しようとするよりも、無料レンタル品を借りてくるのが一番の近道で確実です。(多くの方がそうされていると思います)
HTMLにレンタルしたCGIのURLを組み込むだけで使えるものが多いです。(設置方法もレンタルサイトに書いてある場合が殆どです)
「CGI」「無料レンタル」で検索すれば、たくさんのレンタルサイトが検索できますよ。興味あられましたらお試し下さい。

CGIとはCommon Gateway Interfaceの頭文字を取ったものです。
これだけじゃ何のことか判られないと思います。
下の方々も書いておられますが、掲示板などに使用されています。

さて、極力簡単に説明しますが、通常、WEBサイトは「見る」ことしかできません。
お作りになっているページもHTMLで書かれていて、サイトに来られる方々もそのページを「見る」だけですね。
CGIは受け取った情報を書き込んでくれるプログラムと思ってくださればいいんじゃないかと思います。
掲示場のほか、アクセスカウンター、...続きを読む

Qtest.cgi?=3215とかってよく見ますが、あれってどうやって自動生成するんですか?

こんにちわ。掲示板とかのURLでxxx.cgi?=5621とかってありますが、あれってどういうふうな自動生成の仕方があるのですか?

Aベストアンサー

勘違いしてたらごめんなさい。

自動生成というか、
xxx.cgi?x=5621
も、普通のURLとして扱われてるんじゃないですかね。
上の「この質問に回答する」や「このQ&Aをともだちに紹介する」にカーソルあてて、
ステータスバー見てもらうと、分かりやすいと思いますけど。

つまり、今開いているxxx.cgiが、?x=5621というのをURLに付け足したわけでなく、
その手前のリンクで、すでに xxx.cgi?x=5621 として指定されているわけです。

5621の部分を自動生成する仕組みとなりますと、
それは、データの仕様により大きく違ってくるんで、
なんとも言えませんが、基本は連番ですよね。
最終の番号をどこからか参照して、1足してるだけです。

QCGIとPHPの違いってなんですか?

プログラミング初心者です。初歩的な質問で申し訳ありません。初心者向けの書籍等で調べてみると掲示板の作成やカウンター設置等CGIでできることはPHPでもできてPHPでできることはCGIでも同じことができるようなイメージなのですが、逆にそれぞれがそれぞれのプログラムじゃないとできない、ということや特徴的な使用方法等わかりやすく教えていただけたら助かります。よろしくお願いします。

Aベストアンサー

ANo.5 ですが一部わかりにくいかもしれないので補足します。
「PHPはCGIより速い」は間違いですが、それ以前に比較対照がおかしいと言えます。
それとは別に「PHPはperlより速い」というのもありますが、これも間違いです。
PHPもperlも、それぞれ「CGIモード」と「modモード」があり、modモードはCGIモードよりも速いです。ANo.5 に書いたようにCGIとはプログラムとWebサーバーを橋渡しする環境のことで、modはWebサーバーの一部として組み込まれて動きます。当然「橋渡し」の分、時間がかかります。
たとえば、CGIでPHPを動かすよりも、modでperlを動かしたほうが圧倒的に速いです。
で、モードを同じにした場合は、perlのほうが速いケースが多いそうですが、大差はないという見方もあります。

おそらく、PHPはmodモード(モジュール)で動作させることが多いのと、CGIはperlだと思ってしまっている人が多いことで、先のような間違った情報が広まってしまったのでしょうね。
そのあたり、氾濫する情報にまどわされてしまうこともあるので、まずはPHP、perl本家のサイトを見るのが良いと思います。動作モードについても詳しく書かれています。もちろん信頼性も最も高いでしょう。

ANo.5 ですが一部わかりにくいかもしれないので補足します。
「PHPはCGIより速い」は間違いですが、それ以前に比較対照がおかしいと言えます。
それとは別に「PHPはperlより速い」というのもありますが、これも間違いです。
PHPもperlも、それぞれ「CGIモード」と「modモード」があり、modモードはCGIモードよりも速いです。ANo.5 に書いたようにCGIとはプログラムとWebサーバーを橋渡しする環境のことで、modはWebサーバーの一部として組み込まれて動きます。当然「橋渡し」の分、時間がかかります。
たとえ...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報