[1] Protozilla は Mozilla 拡張ソフトウェアで、 Mozilla 本体が対応していないプロトコルに対応するための枠組みを提供しています。任意の URI scheme を比較的簡単に定義できるようになります。
mozdev.org - protozilla: index <http://protozilla.mozdev.org/>
[3] 昔 (1.2 位の頃) は Mozilla 本体についてきたみたいですが、いま (1.5 とかの頃) はついていないみたいです。
非標準の URI scheme をどんどん定義できるものを標準で含めておくのはどんなもんかなーと思っていたのですけど、別配布ならまあいいでしょう。
cgi+
protozilla
このほか、例として cat+:
,
myhttp:
,
redirect:
, scp:
,
whois:
の実装が用意されています。
(<http://www.mozdev.org/source/browse/protozilla/pipella/proto/sample/>)
[6] +
で終わる scheme 名だと、
HTML のリンクのような参照では機能しないようになります。
但し scheme 規定部が空である場合 (cgi+: だけ)
のときはこの規制を受けません。
[7] 実際に scheme を定義する方法については <http://protozilla.mozdev.org/examples.html> をご覧下さい。
[4] cgi+:
scheme が予め定義されており、
CGIスクリプトを実行させることができます。 w3m
の localCGI 機能と同じようなものですね。
メタ変数の実装 (protozilla/pipella/proto/protozilla.js - view - 1.47 <http://www.mozdev.org/source/browse/protozilla/pipella/proto/protozilla.js?rev=1.47&content-type=text/x-cvsweb-markup> による):
メタ変数名 | 値 | 参考 |
GATEWAY_INTERFACE | CGI/1.1 | 固定 |
PATH_INFO | 階層的 scheme なら。 | |
REQUEST_METHOD | GET | 固定 |
QUERY_STRING | URI の query 部 | なければ空文字列 |
REMOTE_ADDR | 127.0.0.1 | |
SCRIPT_DIRECTORY | CGI スクリプトのあるディレクトリ | Protozilla 独自拡張 |
SCRIPT_NAME | URI の / からスクリプトのファイル名まで | 階層的 scheme なら |
SERVER_NAME | 127.0.0.1 | |
SERVER_PROTOCOL | HTTP/1.0 | 固定 |
SERVER_SOFTWARE | Protozilla/0.1 | |
URI_DATA | URI の scheme 規定部分 | 階層的 scheme なら。Protozilla 独自拡張 |
URI_HOST | URI の host 指定 | あれば。階層的 scheme なら。Protozilla 独自拡張 |
URI_PORT | URI の port 部分 | 陽に陰にあれば。階層的 scheme なら。Protozilla 独自拡張 |
URI_SPEC | URI 全体 | Protozilla 独自拡張 |