No.5ベストアンサー
- 回答日時:
>結局のところ、CGIという決まりはどういう決まりなのでしょうか。
RFC3875という文書で定められています。
http://www.studyinghttp.net/rfc_ja/rfc3875
主要な記述は次の3つの章でしょうか。
3 スクリプトの呼び出し
4 CGI リクエスト
6 CGI レスポンス
この文書に定義されている変数やデータ形式を用いて,要求(request)と応答(response)のやりとりができるのであれば,
そのWebサーバはCGIに対応していると呼ばれますし,
そのサーバ側プログラムはCGIプログラムと呼ばれます。
用いるプログラム言語については規定されていませんから,どんなプログラム言語で書かれていようとRFC3875の仕様を満たすのであればCGIプログラムです。
No.6
- 回答日時:
Apacheで言えばmod_cgi.soを介して呼び出されるシステム。
PerlやC言語などまたPHPもCGIモードで動かせる
逆にPerlもPHPもCGIモードではなくてWebサーバのモジュールとして直接呼び出すことができる。
No.3
- 回答日時:
ここで言うサーバとは、ユーザからの要求を受け付けるマシンとしてのサーバもありますが、
具体的にはWEBサーバの事を指しています。
サーバには他にも、認証サーバとかデータベースサーバとか
ファイルサーバとかプロキシサーバなどなどがあります。
WEBサーバ自体には
狭義にはユーザからの要求に対応するHTMLファイルを送り返すという処理しか行いません。
そこで、同じHTMLなんだけれども何かをきっかけに
表示内容を変更する処理が行えるようにすると、
ファイルやデータの管理がやりやすくなる場合があります。
実際、この質問サイトも「質問タイトル、質問内容、回答内容」などのデータを
質問IDをキッカケ(キー)としてデータ管理することで、
見た目の各質問毎のHTML自体は1枚分で処理されています。
その処理を行う言語にPHPやPerlやASP、Javaなどなどがあり
それを広義に「CGI処理部」と呼ぶこともあります。
質問文にある「CGIという決まり」はユーザからの要求に対応した
CGI処理部を呼び出すというWEBサーバの拡張部分の辺りをいうのでしょう。
ただ、そこで具体的に何が行われているのか、どういう設定が絡んでくるのか
といった内容までは知らないので、私からの説明は失礼ながらこの辺りにて。
No.2
- 回答日時:
CGI=Common Gateway Interfaceはクライアントからサーバに対して
リクエスト(要求)が送られたときにサーバがある決まりに従って
プログラムを実行するための仕組みなどのことです。
この決まりに関しては事細かく規定されていますけど、仕様書とか
しっかりみないと分からないでしょうね。
サーバはこの決まり(仕様)に従ってプログラムを実行することによって
CGIを実行できます。
CGIの実行機能はサーバ自体が持っていることもあればサーバの
モジュールや拡張機能として実装されることもあります。
基本的にはそのサーバコンピュータ上で動作するプログラムや
スクリプトであれば言語は問いませんが、サーバプロセス内で
プログラムを実行しているため、プログラム自体の実行スピードや
安定性などに大きく影響を受けます。
言語仕様が簡単で更にすぐに実行できて手軽であり、CGIとして
実行するのにうってつけの機能を標準で実装しているためCGIの
言語としてよくPerlが利用されるため、CGI=Perlと思っている人も
いますがこれは間違いです。
Cなどでコンパイルした実行ファイルやUNIX/Linux系ならシェル、
Winならバッチなどでも作成することは不可能ではありません。
(実用性があるかどうかなどは別の話)
ただ、補足説明なしにCGIといった場合は大抵、Perl CGI(Perlで実装
されたCGI)を指します。
似たような技術にPHP,ASP,JSPなどがあります。
PHPはCGIモードとして動作させることもできます。
参考URL:http://ja.wikipedia.org/wiki/Common_Gateway_Inte …
No.1
- 回答日時:
CGIっていう規則性が無かったらどうデータを受け取るのか判らなくなるんじゃない?
そして返すにもただデータを渡してもだめだから どう返すべきであるかというのを定めて置いた方が良い事になるよね?
jpgという拡張子ならjpeg画像だという規則 と同じ。(実際には中にjpegですよーっていう印が有るんだけど)
それが無かったらそれが何のデータでどう処理するのか 全くわからなくなるでしょ
それを件の受け答えに関して定めた物の事。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML文書の中で環境変数を使う...
-
HTML字数制限対応の文字置換 パ...
-
メールアドレスの@から後ろが・...
-
perlやPHPについて、CGI方式と...
-
EXCELファイルに誰がアクセスし...
-
カリビアンビーチへの行き方
-
特定のCGIだけ、作動するかわり...
-
CGIでソースがそのままでてしま...
-
perlからphpを実行して結果を得...
-
拡張子をcgiにしたい。
-
HTTP500内部サーバーエラーと表...
-
nicky.cgi内で、しぃペインター...
-
排他処理について教えてください。
-
《エクセルVBA》「他の人が該当...
-
まったくわかりません。お手上...
-
設置場所場わかりません。
-
なぜフォルダ名がcgi-binなの?
-
掲示板のスレッドが消えた!?
-
ファイルの削除について ( unli...
-
私書箱掲示板プラス添付ファイル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ASPからJavaScriptへの受け渡し...
-
VBAを使用して、外部サーバのフ...
-
「EJBとServletの違い」「J2SE...
-
hostsの設定について
-
Image::Magickの呼び出し
-
HTML字数制限対応の文字置換 パ...
-
CGIとは結局何なのでしょうか。
-
TwitterAPIを使用せずに自動ツ...
-
フレームワークとssh
-
net::smtp port設定
-
ASPでDLLの使用方法
-
c++のサーバー通信
-
何故か特定のディレクトリで画...
-
LAN内に接続されているPCをリ...
-
リンク参照元について。
-
PerlでWEBサイトを作るために必...
-
CGIのログを違うパソコンへ移動
-
自宅でPHPを動作させたいのです...
-
ソースを見せたくないです。
-
スムーズなサイトリニューアル
おすすめ情報