人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CGIでHTMLを生成する仕組みって一体どうなっているんですか?(例)http://www.octalserve.gr.jp/html/gyoumu/hp/cgi/sample_1/index.html教えてください。

●質問者: Oyis
●カテゴリ:ウェブ制作
✍キーワード:CGI HTML
○ 状態 :終了
└ 回答数 : 10/10件

▽最新の回答へ

1 ● emueda
●10ポイント

ゲストブックとかを作ったことがあるならば分かると思いますが、CGIを使って、データをファイルに出力できますね。

で、sasadaさんが聞いているCGIでは、単にその出力をHTMLにしただけです。

なので、その後、見るときは既に出力されているHTMLを見るだけなので、CGIは使われないと。CGIは出力時にのみ使用。


2 ● finalvent
●10ポイント

http://www.iroiro.org/cgi/yougo/yougo_perl_chikan.html

URIはほぼダミーです。

HTML生成自体はHTMLがテキストなのでただ文字列処理しているだけです。あとはHTTPヘッダを送出させるくらいですが、これも通常のゲストブックと変わりません。

例のサイトでは、<! tubuyaki for CGI> <! end of tubuyaki for CGI>というコメントをマーカにして文字列置換(あるいは挿入)をやっているのだと思われます。つまり、通常のテキストファイルの置換処理や差し込みの処理と同じです。


3 ● will0
●10ポイント

CGIと

それを処理するPERL

実行させるHTTPサーバ

送られてきたデータを解釈するブラウザ

とそれぞれの役目を頭に入れておくと

理解しやすくなります。

例のページではhtmlの内部にcgiの出力結果を埋め込む

通常SSIと呼ばれる形が使われてますね。

htmlに埋め込まれたcgi実行命令をサーバが

コールして結果をhtmlにまとめてブラウザに送ります。

ちょっとご質問があいまいなので

この辺にして、何かさらに知りたいことがあれば

ご質問ください。

こんなところで的を得ているでしょうか・・


4 ● masaomix
●10ポイント

基本的にはCGIというプログラムの中にHTMLの骨組みを持っているんです。たとえば、

print <<”HTML”

<html>

<body>

$no <a href=”mailto:$mail”>>$name</a> $title $date $time <a href=”$hp”><img src=”home.gif”></a>

<blockquote>

$message

</blockquote>

といった骨組みをプログラム(スクリプト)の中に持っていて、$no に書き込み番号、$name に名前・・・・というように必要事項をログファイルから読み込んでくると、これが掲示板の表示部分ということになるわけです。

こうした基本部分に加えて、もし何々だったら何をする、といった条件分岐などのプログラム制御を加えてやると、こうした骨組みを次々と切り替えてHTMLとして出力してやることができますから、変幻自在、なんでこんな複雑なことができるのー、といったページも作れることになるわけです。


5 ● masaomix
●10ポイント

あ、続けてすいません。masaomixです。先の回答に書いたスクリプト例、最下行に

HTML

っていう一行を書き忘れてたみたい(^-^;

print <<”HTML”; #←セミコロンも忘れたかも(^-^;

HTML

とやると、この間にはさまった部分が

そのまま出力として出てきます。

この間に普通のHTMLファイルをそのまま突っ込んで、

前後にIPアドレスによるアクセス規制などを付けると

嫌な人には見せない隠しページなんていうのも作れます(笑)


1-5件表示/10件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ