Kenji Arisawa
E-mail: arisawa@aichi-u.ac.jp
Aichi University
Kurozasa 370, Miyoshi-cho
Aichi, Japan

2002/04/26

第0.9版との主な違い

Pegasus 1.0a 版は 1.0版のバグ修正版です。1.0 版との使用上の違いはありません。 処理上の違いに関しては技術ノートを参照して下さい。

以下に 1.0版と0.9版の違いを載せます。


■ 実行ハンドラの導入

ファイルのパスパターンに応じて、それを処理するプログラムを指定できるようにしました。 この指定はサービス空間の
	/etc/handler
で行います。このファイルの標準的な内容は次のようなものです。
   # path    mimetype    ramfs    execpath arg ...
    *.http         -         0       $target
    *.html      text/html    1       $target
    *.dx_html   text/html    0       /bin/dx
この表は、パスパターン(第1項)によって、そのファイルを処理するプログラム(第4項)と処理の方法(第2項と第3項)を表しています。第5項目以降でプログラムの引数を指定する事もできます。

パスパターンの指定において `/' は基本的に他の文字と同じ扱いですが(従ってシェルのパスパターンの扱いと同じではありません)、1つの例外があります。

	/netlib/*/index.html
のように、/*/ のパターンは / にマッチすると言うルールが追加されています。(このルールは Pegasus が ftp ディレクトリを扱うのに都合の良い様にできている訳です。)

第2項は HTTP ヘッダの ContentType を表しています。これが `-' の場合にはプログラムは HTTP ヘッダを自ら出力する必要があります。
第3項はプログラムの実行に伴って ramfs がサービスされるか否かを表しています。

第4項は実行プログラムが指定されます。第4項以降に現れる $target はリクエストされたドキュメントの絶対パスを表しています。第4項が $target になっていると言う事は、要求されたドキュメントが実行プログラムである事を意味しています。

第5項目以降に実行プログラムの引数を書くことができます。引数の最後が $target で終る場合には、$target を省略できます。

■ 実行ハンドラの導入に伴う CGI ファイルの扱い

第0.9版では CGI ファイルの拡張子を
	.http  .cgi   .html
に固定していました。

第1.0版では CGI ファイルの拡張子を実行ハンドラの定義ファイルでユーザが定義する事にしました。(定義しないと CGI が使えません。)

拡張子が CGI のファイルはこのやり方では扱えません。この型のファイルは単に Apache の CGI ファイルとの互換性のために残されてきたのですが、この際に廃止する事にしました。

■ 環境変数の違い

幾つかの環境変数が異なっています。

■ httpd の起動オプション

サーバモードで
	-u
	-M
が追加されました。これらは httpd をユーザ none 以外のユーザとしてサービスを行う仕組みを可能にするものです。