CGIプログラム(CGIスクリプト)には実に様々な種類があります。
ここでは、私が勝手にCGIプログラム(CGIスクリプト)を分類して紹介します。
ただ、この分類は私的で便宜上のものです。
実際には、様々な複合的な要素が絡まりあってとても分類しきれるものではありませんし、今この間にも様々な新たな機能を持ったプログラムが開発されていることでしょう。
ここでは、プログラムが持つ様々な機能をどんどん削っていって、その最小機能にまで絞り込んでその上で「分類」しました。
実際にここで紹介しているそのままでは、ほとんど役に立たないでしょう。
自作スクリプトの元の素にするとか、部品や記述を参考にするとかされるとよいのではないでしょうか。
■ コミュニケーション系
・概要
フォームを通し情報を受け取り、それをサーバーに書き出し、書き込まれた情報を不特定多数の人間が共有するもの。
大雑把に言ってサンプルの入力項目を増やし、投稿者管理やリロード機能などをつけたものがチャット。編集や過去ログ機能などをつけたものが掲示板といえます。(あくまで大雑把に)
・代表例
チャット、BBS、記事投稿、アンケート、投票、ランキング、ブログ
・必要技術
フォーム、ファイル(読み出し・書き込み)、漢字コード など
■ パーソナル系
・概要
様々な情報をサーバに書き込んでおいて、必要に応じて閲覧する。管理者自身または、管理人により利用権限が付与された者のみが見用いることができる。
・代表例
私的な日記、住所録、会員向けBBS
・必要技術
基本的にはコミュニケーション系と同じ、それに加え認証、パスワード など
■ 自動記録系
・概要
何らかの方法によって、プログラム(スクリプト)を呼び出し、ページ閲覧者が意識しなくても自動的に何らかのデータが保存されるもの。
・代表例
カウンタ、アクセスログ、ダウンローダー
・必要技術
ファイル(読み出し・書き込み)、クッキー、環境変数 など
■ ファイラ系、アップローダー系
・概要
サーバ内のファイルの情報を何らかの形で取り出して、一覧できる形で一般に供するもの。または、サーバーのスペースを保存域として使うもの。
・代表例
アップローダー、画像公開、アルバム、 バックアップ など
・必要技術
ファイル操作一般、フォルダ一覧
■ メール系
・概要
Send-Mailなど利用し、E-Mail形式で情報を送るもの。
Send-Mailでは日本語を使う場合文字コードとして、JISコードを使う。
・代表例
メールフォーム、アンケートフォーム など
・必要技術
フォーム、Sendmail、日本語変換(JIS)
■ 検索系、書式チェッカ系
・概要
ファイルやフォームなど様々なソースから読み込んだデータを評価し必要に応じて取り出すもの。
文字列の検索・比較ではSift-JISでは文字コードの問題から特定の文字で問題がおきるので、EUCなどに変換して扱うか、はじめからEUCでスクリプトを書くのが一般的。
・代表例
検索フォーム、書式チェッカ など
・必要技術
テキストデータ読み込み(ファイル・フォーム)、正規表現、置き換え・比較、日本語変換(EUC)
■ データベース系、自動応答系
・概要
フォームから読み込んだデータを元に、予め用意されたデータを評価し必要に応じて取り出すもの。
・代表例
クイズ、育成、データベース、クイズ、おみくじ、占い、駄洒落スクリプト など
・必要技術
検索系、書式チェッカ系の技術に加え、フォーム、ファイル(読み出し)
■ 画像関連
・概要
画像を扱う技術。
・代表例
画像結合、お絵かきボード など
・必要技術
(画像関係ライブラリ)
■ XML/XSL関連
・概要
XML/XSLといった汎用データ形式を扱う技術。近年、急速に普及。
・代表例
RSS、Amazon Webサービス/Yahoo! Webサービス、各種文書処理 など
・必要技術
XML/XSLパーサー
■ その他
・概要
上記以外のもの一般。
上記に含まれない技術を用いるもの、異なったコンセプトを持つもの、上記の補助に主に使われ単体使用されるものが少ないものなど。
・代表例
時計、カレンダー、作成支援、ランダム表示、時間別表示、おみくじ・占い、携帯端末、セッション など
・必要技術
ライブラリ、その他ウェブ管理、その他
■ 複合
・概要
上記技術を複数組み合わせることにより、はじめてその機能を実現するもの。
・代表例
ショッピングカート、対戦ゲーム、ゲーム など
□新着
- 2016/04/14
ページ復旧 - 2007/10/06
Story Maker始動 - 2007/06/13
久々の更新 - 2007/01/06
logちょっとバージョンアップ - 2006/07/27
ホームページのPerl 終了
□Topics
- 2016/04/14
サイト復旧 - 2007/10/06
StoryMaker始動 - 2007/06/13
今後にぜひご期待を! - 2006/06/26
今後について - 2006/06/15
環境の変化