Logo address

Pegasus の内部処理

Pegasus の以下の順序で関連するファイルを参照し、名前空間や処理の内容を決定していきます。
  1. /lib/namespace
    httpd の起動直後は httpd を起動した名前空間の中にいる。これは通常 console の名前空間であり /lib/namespace で決定されている。
  2. /sys/lib/httpd.conf
    最初に /sys/lib/httpd.conf が参照される。
  3. /sys/lib/mimetype
    /sys/lib/mimetype が参照される。
  4. /sys/lib/httpd.rewrite
    クライアントからのリクエストは /sys/lib/httpd.rewrite に従って前処理される。
  5. /lib/namespace.httpd
    Pegasus はまず /lib/namespace.httpd に従い名前空間を再編する。$web が確定する。
  6. $web/bin
    $web/bin/386$web/bin/rc/bin に bind される。
  7. $web/etc/namespace_80
    $web/etc/namespace_80 が存在すれば、さらに名前空間を再編する。ここで httpd のサービス空間(実ホスト・仮想ホスト・ユーザごとの名前空間)が確立する。
  8. $web/etc/rewrite
    $web/etc/rewrite によって要求されたファイルが確定する
  9. $web/etc/allow
    IP アドレスによるアクセス制限のチェック
  10. $web/etc/passwd
    パスワードに基づくアクセス制限のチェック
  11. $web/etc/handler
    実行ハンドラの参照
  12. ファイルの送信あるいは CGI の実行