![]() |
![]() |
Plan 9 で動く Web Server は現在のところ2つ存在する。1つは Plan 9 の正式配布版で、もう1つは筆者の Pegasus である。正式配布版はオーソドックスであり、筆者の様に Apache のサーバを使ってきた者にとっては物足りない。
以下に少しばかり CGI のサンプルを載せる。ブラウザからどのように見えるか、またそれらがどのように書かれているかが分かるようにしてある(*)。
Pegasus の CGI ファイルはファイル拡張子ではなく実行フラグで決定する。Apache の *.cgi は Pegasus では
*.html + 実行フラグ
である。また *.html のファイルに関しては自動的に
Content-type: text/html
を送り出してくれる。
UNIX のユーザは "accessible space" を特に注目してほしい。ここでは CGI スクリプトによるアクセス空間が分かるように ls -l /の結果を見ることができる。
このアクセス空間は/lib/namespace.http.plan9でコントロールされている。UNIX の場合にはコントロール不可能でありシステムの全てである。なお /bin/rc は Plan9 の標準シェルである。
Plan9 では CGI スクリプトのアクセス空間をコントロールできる。また CGI スクリプトの中で使用可能なコマンドもコントロールできる。以上の能力は、エンドユーザに CGI スクリプトを書く自由に道を開くはずである。