目次

CGIプログラミング

1章 Common Gateway Interface(CGI)
	1.1 CGIとは何か
	1.2 CGIアプリケーション
		1.2.1 フォーム
		1.2.2 ゲートウェイ
		1.2.3 仮想ドキュメント(Virtual Document)
	1.3 実用的なCGIアプリケーション
	1.4 CGIの内部動作
	1.5 サーバのコンフィグレーション
		1.5.1 CGIスクリプトの実行
	1.6 CGIのプログラミング
		1.6.1 AppaleScript(Macintoshoのみ)
		1.6.2 C/C++(UNIX、Windows、Macintosh)
		1.6.3 Cシェル(UNIXのみ)
		1.6.4 Perl(UNIX、Windows、Macintosh)
		1.6.5 Tcl(UNIXのみ)
		1.6.6 Visual Basic(Windowsのみ)
	1.7 CGIの考察
	1.8 本書の概要
2章 CGIへの入力
	2.1 はじめに
	2.2 環境変数を使用する
		2.2.1 事例
		2.2.2 クライアントブラウザをチェックする
		2.2.3 指定ドメインに対するアクセス制御
		2.2.4 ユーザ認証と識別
		2.2.5 どのサーバから来たのか
	2.3 フォーム入力にアクセスする
		2.3.1 クエリー文字列
		2.3.2 簡単なフォーム
		2.3.3 GETメソッドとPOSTメソッド
		2.3.4 エンコードされたデータ
	2.4 エキストラパス情報
	2.5 UNIX上の他の言語
		2.5.1 C/C++
		2.5.2 Cシェル
		2.5.3 Tcl
	2.6 Microsoft Windows上の他の言語
		2.6.1 Visual Basic
		2.6.2 WindowsNT用のPerl
	2.7 Macintosh上のほかの言語
		2.7.1 MacPerl
	2.8 環境変数の調査
3章 CGIからの出力
	3.1 概要
	3.2 CGIとレスポンスヘッダ
	3.3 アクセプトタイプとコンテントタイプ
	3.4 Content-lengthヘッダ
	3.5 サーバリダイレクション
	3.6 "Expires"ヘッダト"Pragma"ヘッダ
	3.7 ステータスコード
		3.7.1 "No Response"コード
	3.8 完全な(Non-Parsed)ヘッダ
4章 フォームとCGI
	4.1 HTMLタグ
		4.1.1 FORMタグ
		4.1.2 テキストフィールドとパスワードフィールド
		4.1.3 SubmitボタンとResetボタン
		4.1.4 ラジオボタンとチェックボックス
		4.1.5 メニューとスクロールリスト
		4.1.6 マルチラインとスクロールライン
		4.1.7 フォームタグのクイックリファレンス
	4.2 データをサーバに送る
		4.2.1 GET対POST
		4.2.2 デコーディングプロセスを理解する
	4.3 フォームを使用したアプリケーションをPerlで設計する
		4.3.1 グラフィックスとクエリーを組み合わせる
	4.4 フォームを他の言語でデコードする
		4.4.1 Cシェル(csh)
		4.4.2 CおよびC++
		4.4.3 Tcl
		4.4.4 Visual Basic
		4.4.5 AppleScript
5章 Server Side Includes
	5.1 はじめに
	5.2 コンフィギュレーション
		5.2.1 CERNサーバ用SSIをコンフィギュレーションする
	5.3 環境変数
	5.4 ボイラプレートを入れる
	5.5 ファイル統計
	5.6 外部プログラムの実行
	5.7 CGIプログラムの実行
		5.7.1 ユーザアクセスカウンタ
		5.7.2 ランダムリンク
		5.7.3 残りの日数を数える
	5.8 SSI出力をカスタマイズする
	5.9 一般的なエラー
6章 ハイパーメディアドキュメント
	6.1 ダイナミックホームページを作成する
	6.2 PostScriptを使用したCGI事例
		6.2.1 デジタルクロック
		6.2.2 複数のダイナミックイメージを挿入する
		6.2.3 事例:システムロードアベレージ
		6.2.4 事例:アナログクロック
	6.3 gdグラフィックスライブラリ
		6.3.1 デジタルクロック
		6.3.2 システムロードアベレージ
		6.3.3 アナログクロック
		6.3.4 グラフィックカウンタ
	6.4 gnuplotを使用したCGI事例
		6.4.1 Webサーバアクセス
	6.5 pgperlを使用したCGI事例
		6.5.1 Webサーバアクセス
	6.6 アニメーション
		6.6.1 Client Perl
		6.6.2 Server Push
7章 アドバンストフォームアプリケーション
	7.1 ゲストブック
	7.2 Survey/Pollと円グラフ
		7.2.1 フォーム処理
		7.2.2 円チャートを描画する
	7.3 Quiz/Testフォームアプリケーション
	7.4 セキュリティ
8章 複数フォームとのやりとり
	8.1 隠ぺいフィールド
	8.2 CGI Side Includes
		8.2.1 CSIステートメントと隠ぺいフィールド
	8.3 Netscape Persistent Cookies
9章 ゲートウェイ、データベース、検索/索引ユーティリティ
	9.1 UNIXマニュアルページゲートウェイ
	9.2 メールゲートウェイ
	9.3 リレーショナルデータベース
		9.3.1 SQL入門
		9.3.2 Sprite
		9.3.3 Oracleデータベースへのゲートウェイ
		9.3.4 Sybaseデータベースにアクセスする
	9.4 検索/索引ゲートウェイ
10章 インターネット情報サーバへのゲートウェイ
	10.1 概要
	10.2 ソケットとは
	10.3 PerlのソケットI/O
	10.4 ソケットライブラリ
	10.5 ハイパーテキスト(HTTP)リンクをチェックする
	10.6 Archie
	10.7 Web上のネットワークニュース
	10.8 マジッククッキー(Magic Cookies)
	10.9 サーバを使用して状態を維持管理する
		10.9.1 クッキーサーバ
		10.9.2 クッキークライアント
	10.10 チャイルドプロセスのフォーク/生成
11章 アドバンスト/クリエイティブCGIアプリケーション
	11.1 アニメーションクロック
	11.2 「神経衰弱」ゲーム
	11.3 イメージマップ入門
	11.4 カレンダーマネージャ
		11.4.1 メインプログラム
		11.4.2 データベース
		11.4.3 フォームと表示
		11.4.4 イメージマップ表示
		11.4.5 グラフィックス
12章 CGIアプリケーションのデバッグ&テスト
	12.1 一般的なエラー
		12.1.1 認識できないディレクトリに入っているCGIスクリプト
		12.1.2 インタプリタ行の欠如
		12.1.3 ファイルパーミッション問題
		12.1.4 スクリプトの変形したヘッダ
	12.2 プログラミング/システムのエラー
		12.2.1 ファイルのオープン、読み出し、書き込み
		12.2.2 パイプとオープンコマンド
	12.3 環境変数
	12.4 ロギングとシュミレーション
		12.4.1 クライアントシュミレーション
		12.4.2 サーバシュミレーション
	12.5 CGI Lintデバッグ/テストツール
		12.5.1 CGI Lintの動作
	12.6 UID/GID Wrapperの設定
付録A Perl CGIプログラミングFAQ
	A.1 はじめに
	A.2 モジュール
	A.3 CGIとWWWサーバ
	A.4 特定のプログラミングに関する質問
	A.5 セキュリティ
付録B 正規表現の要約
付録C Perl 5用CGIモジュール
	C.1 モジュールの概要
		C.1.1 Base.pm
		C.1.2 BasePlus.pm
		C.1.3 Request.pm
		C.1.4 Form.pm
		C.1.5 MiniSvr.pm
		C.1.6 Response.pm
		C.1.7 Carp.pm
	C.2 作成から解析まで
付録D CGI Lite
	D.1 マルチパートフォーム
付録E アプリケーション、モジュール、ユーティリティ、ドキュメント
	E.1 本書で開発したソフトウェア
	E.2 CGIソフトウェア
	E.3 ユーティリティ&アプリケーション
	E.4 WWWサーバ情報
	E.5 オンラインドキュメント
	E.6 公式仕様
索引