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