Advanced Server-side Programming WebエンジニアのためのApacheモジュール プログラミングガイド
- 小山浩之 著
 - 定価
 - 3,058円(本体2,780円+税10%) 1,100円(本体1,000円+税10%)
 - 発売日
 - 2003.8.1[在庫なし] 2012.9.28
 - 判型
 - B5変形
 - 頁数
 - 256ページ
 - ISBN
 - 4-7741-1799-4 978-4-7741-5347-6
 
概要
Apacheは、モジュールによって簡単に機能拡張が出来、既存のCGIなどでは得られない自由度やパフォーマンスを比較的容易に達成することができます。本書は、Apacheが用意している豊富なモジュールAPIを活用して、Apacheモジュールを簡単に開発するためのガイドブックです。
こんな方にオススメ
- Webエンジニア
 - CGIやサーブレット等のパフォーマンスに満足できない方
 
目次
第1章 イントロダクション
- 1.1 Apacheのモジュールアーキテクチャ
 - 1.2 Apacheのライフサイクル
- ・リクエスト処理ループ
 
 - 1.3 Apacheモジュールでできること
 - 1.4 Apacheモジュールを作るメリット
- ・もっとも軽量で高速
 - ・高度なAPIとリソースプール
 
 - 1.5 まとめ
 
第2章 Hello World!
- 2.1 環境の準備
- ・Cコンパイラとプログラミングツール
 - ・Apache HTTP Server
 
 - 2.2 はじめてのモジュール
- ・ひな形の作成
 
 - 2.3 静的な組み込み
- ・モジュールの動作確認
 
 - 2.4 動的な組み込み
- ・モジュールのビルドとインストール
 - ・モジュールの動作確認
 
 - 2.5 静的か動的か
 - 2.6 デバッグ
- ・DSOモジュールのデバッグ
 
 - 2.7 まとめ
 
第3章 Apacheが提供する機能
- 3.1 リソースプール
- ・ファイル操作
 - ・既存のファイルハンドルをプールに結びつける
 - ・動的に確保するメモリ
 
 - 3.2 文字列処理
- ・コピー
 - ・結合
 - ・分割
 - ・整形
 - ・変換
 
 - 3.3 日付処理
 - 3.4 正規表現
 - 3.5 汎用データ構造
 - 3.6 まとめ
 
第4章 コンテンツハンドラ
- 4.1 コンテンツハンドラとは?
 - 4.2 コンテンツハンドラモジュールの作成
- ・コンテンツハンドラの構造
 
 - 4.3 コンテンツの生成と応答
- ・レスポンスヘッダの送信
 - ・メソッドの判定と応答
 - ・コンテンツの送信
 - ・応答ステータス
 
 - 4.4 リクエスト情報の取得
 - 4.5 パラメータの解析
- ・GETメソッド
 - ・POSTメソッド
 
 - 4.6 リダイレクト
- ・外部リダイレクト
 - ・内部リダイレクト
 
 - 4.7 まとめ
 
第5章 設定ファイルのカスタマイズ
- 5.1 コンフィグレーションAPI
- ・入力エラーの通知
 - ・ディレクティブの構文を設定する
 - ・ディレクティブの利用範囲を設定する
 - ・汎用設定関数を利用する
 
 - 5.2 設定のマージ処理
 - 5.3 まとめ
 
第6章 その他のリクエストフェーズ
- 6.1 Apacheのリクエスト処理の流れ
- ・リクエスト読み込み後の後処理(ap_run_post_read_request)
 - ・URIから実ファイルへの変換(ap_translate_name)
 - ・リクエストヘッダの解析(ap_header_parse)
 - ・アクセス制御
 - ・コンテンツタイプの決定(ap_find_types)
 - ・コンテンツ生成直前の微調整(ap_run_fixups)
 - ・コンテンツの出力(ap_invoke_handler)
 - ・ログの出力(ap_log_transaction)
 
 - 6.2 まとめ
 
第7章 コンテンツハンドラ応用
- 7.1 トラフィックの最適化
- ・条件リクエスト
 - ・条件リクエストの実装
 - ・条件リクエストのまとめ
 
 - 7.2 RDBMSの利用
- ・MySQLとの通信
 - ・RDBMSの利用のまとめ
 
 - 7.3 プラグインによるモジュールの拡張
- ・プラグインの実現方法
 - ・プラグインを使用するApacheモジュールの実例
 - ・プラグインのまとめ
 
 
第8章 セキュリティ
- 8.1 入力の検査
- ・Apacheのリソース制限機能
 - ・クロスサイトスクリプティング対策
 
 - 8.2 バッファオーバーフローの回避
- ・使用してはいけない関数
 
 - 8.3 暗号とメッセージ認証アルゴリズムによるデータの保護
- ・暗号ライブラリとしてのOpenSSL
 - ・対称鍵暗号による暗号化
 - ・メッセージ認証アルゴリズムによる一貫性の確認
 
 - 8.4 まとめ
 
第9章 Apaache 2.0.xにおけるモジュールの開発
- 9.1 Apache 2.0.xの変更点
 - 9.2 モジュールの開発/組み込み手順
- ・ひな形の作成
 - ・静的な組み込み
 - ・動的な組み込み
 - ・モジュールの動作確認
 
 - 9.3 APIの変化
- ・ハンドラの登録
 - ・データ型
 - ・関数
 - ・ディレクティブの定義
 
 - 9.4 スレッドセーフ
 - 9.5 まとめ
 
プロフィール
小山浩之
フリーランスのプログラマで一児の父。Webシステムのスケーラビリティ戦略に関するアドバイザリや、その実装を主な生業とする。ここ2年ほどは株式会社ミクシィ をクライアントとして、同社のソーシャルネットワーキングサービスを支える分散システムの研究開発に携わっている。