書籍概要

Advanced Server-side Programming

WebエンジニアのためのApacheモジュール プログラミングガイド

著者
発売日
更新日

概要

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 まとめ

サポート

補足情報

著者の小山浩之さんのウェブサイトにてサポートページが公開されています。

商品一覧