[http, https | telnet, tn3270, rlogin | gopher | file | ftp | wais | news, nntp, snews | mailto | finger | cso | lynxexec, lynxprog | lynxcgi| internal]

Lynx でサポートされる URL スキーマ

Lynx は多くの URL タイプを扱い,それは以下に挙げられます。URL(Uniform Resource Locator)についての詳細は RFC1738 を見てください:

Lynxは文書中の部分的あるいは相対的な URL をもし指定されているなら ば BASE によって,そうでなければ RFC1808 で述べられた規則を用 いて,文書の絶対 URL によって 解決します:

初期ファイルとして用いるためにコマンドライン上で,あるいは 'g'oto エントリの要求で URL を入力するとき,部分的なホストフィー ルドを利用でき,また,Lynx 設定ファイルで URL_DOMAIN_PREFIXES と URL_DOMAIN_SUFFIXES の定義を用いることによってスキームと完全なドメイン 名を内部で構成できるならばスキームフィールドは省略可能です。 lynx.cfg ファイルでこれらの定義と役割を見てください。例えば, wfbrhttp://www.wfbr.edu/ として扱われ, wfbr/dir/lynxhttp://www.wfbr.edu/dir/lynx として 扱われますが,gopher.wfbr.edu/11/_fileserv/_lynxgopher://gopher.wfbr.edu/11/_fileserv/_lynx/ として扱われます。 ローカルホストのファイルあるいはディレクトリについて,チルダ (~)はそのアカウントのログインディレクトリに展開されます,つま り,~/foofile://localhost/your/login/directory/foo に展開されます。チルダの展開は Unix と VMS 上で同じように扱われます。 VMS 上では,Lynx は DCL で認識されるファイルあるいはディレクトリスペッ クをを正当な URL に展開します,つまり,[]file://localhost/current/default/directory に展開されます。こ れらの展開は初期ファイルあるいは 'g'oto エントリにつ いてのみです! HTML 文書内の任意の部分的あるいは相対的な URL は RFC1808 に示された規則にしたがって決められます。


http および https URL:

Lynx は http URL を完全に RFC1738 で記述されるように扱います。フォーマッ トは以下です:
http://host:port/path?searchpart#fragment
ここで :port はオプションでデフォルトは :80 で あり,与えたものがスラッシュで区切られた記号列のときは /path で,与えたものが ISINDEX 検索の問い合わせあるいは METHOD="GET" の FORM の内容のときは ?searchpart です。与えたものが,文書中で名前つ けされたアンカあるいは ID 属性にもとづいて,表示のために検索する文書の 位置を示すときは #fragment フィールドで,URL の一部というより はむしろ技術的な操作です。Lynx は文書の BODY ではすべてのタグについて ID 属性を整形した文書での位置に対応する名前つきアンカとして扱います。

https URL は同一のフォーマットですが,デフォルトのポートは :443 です。https URL と CONNECT 手続きをサポートするためのパッ チは Lynx links のリンクを通じて条件付きで入手できます。アメリカ輸出法および関連文書は このサポートを Lynx のようなフリーの WWW クライアントに組み込むことへ の重大な障害となっています。すみません。


telnet, tn3270 および rlogin URL:

telnet URL は一般に Lynx では telnet セッションを起動します。 Lynx は完全な telnet URL スキーマを実現します,すなわち:
telnet://user:password@host:port

user あるいは :password フィールドは省略でき, @ はどちらも与えられない場合は省略すべきです。ポートは URL 中 で省略されるとき,:23がデフォルトです。

tn3270 あるいは rlogin URL は同じように記述され, 同様に tn3270 あるいは rlogin セッションを起動します。実際のふるまいは ローカルおよび目的のホスト上にインストールされる TCP-IP ソフトウェアに 依存します。

匿名あるいはその他の共有アクセスアカウントを示す URL 以外に :password フィールドを含めることは無思慮なことであり,ほとん どの TCP-IP ソフトウェアは URL に含まれているかどうかにかかわらずパス ワードを要求します。


gopher URL:

gopher URL は次の形式を取ります:
gopher://host:port/gopher-path
ここで :port はオプションでデフォルトは :70 であり, /gopher-path は RFC1738 で説明されるようにはっきりとはしてい ません(スラッシュで区切られた http パスの記号列と同一ではない)。一般に, gopher パスはファイルあるいはサービスの種類を示す gophertype (例えば,0 あるいは I はそれぞれプレインテキストある いは画像であり,7は検索であり,また,1はディレクトリ です)を含み,プラットフォームに特有のセレクタが続きます。Lynx では gopher URL でスラッシュの16進エスケープは必要ではありませんが, セレクタの予約文字は,スラッシュを含めて16進エスケープ(%hh)さ れるべきです。

Lynx は明示的には gopher+ プロトコルをサポートせず,gopher サーバと 通信するとき gopher+ の機能として表現しません。Lynx は著者が文書に含め ているならば,(16進エスケープされたタブで区切られた)拡張 gopher+ フィー ルドを転送しますが,このような場合に gopher サーバが返すものをおそらく は扱えず,それ自体を生成したり転送したりしません。gopher 検索を受ける ための整形された URL については,16進エスケープされたタブ (%09)よりは ?セレクタでの searchpartの区切りとして用いるのがよいでしょう,例えば:
gopher://gopher.wfbr.edu/77/_shell/search.shell%20/_shell/walker?lynx* です。Lynx は ? の代わりにもちいられたときに %09 を 正しく扱いますが,他の WWW クライアントはうまく扱えないかもしれません。

HTMLを示す gophertype(h)について,セレクタ GET%20/から始まるなら Lynx は gopher URL を http URL に変換します,例えば:
gopher://www.wfbr.edu:80/hGET%20/
は以下になります:
http://www.wfbr.edu/
ポートフィールドは :80 でなければそのまま保持され, もとのままであるならデフォルトは :70 です。これらの変換はミネ ソタ大学の gopher ソフトウェアの開発中に MIME 対応の http サーバへのリ ンクを与えるのを容易にするために採り入れられましたが,should be considered Lynx の特性と UMN Gopher の特性を考慮したものではないでしょ う。


file URL:

file URL はローカルホスト上のファイルを取得したりディレクトリリストを 生成したりするのに用いられます。ホストフィールドは localhost あるいはローカルホストのドメイン名です:
file://localhost/path
localhost あるいはローカルホストのドメイン名を使わなければ, Lynx は file:ftp: に置換して ftp URL として扱い ます。

チルダ(~)を含めなければ,/path はルートを基準とし て扱われます,例えば:
file://localhost/~/foo
は以下に変換されます:
file://localhost/your/login/directory/foo
この特徴は Lynxの特性で,Unix および VMS 上と同様になされ,Lynx ヘのロー カルな文書でのみ用いられるべきです。

VMS 上で,パスの最初の要素は,もしチルダでなければ,デバイスである と仮定されます,例えば:
file://localhost/www_root/directory/filename.suffix
www_root:[directory]filename.suffix のために用いられます。
どのように VMS 上のローカル文書で file URL を指定するかを確信できなけ れば,DCL と認められる任意の記述を用いて目的のファイルあるいはディレク トリを初期ファイルとしてLynx を起動し,それから showinfo コマンド(=)を用いて Lynx が生成する file URL をみてください。


ftp URL:

ftp URL は次の一般形を取ります: ftp://username:password@host:port/path;type=[D,I, または A]

デフォルトのポートは :21 で,デフォルトの usernameanonymous です。もし username が含まれていて :password がなければ,Lynx はパスワードを要求 します。他と異なり,URL は全く暗号化されないので,こちらが推奨されます。 username:password も含まないとき,@ は 含めないでください。anonymous ftp について,'o'ptions メニュー で定義されていれば Lynx は 個人メールアドレス:password として用い,そうでなければ Lynx はダミーパスワード WWWUser を用います。

;type= パラメータは D, I, あるいは A の値とともに,URL をそれぞれ,ディレクトリリスト,バイナリ ファイル,あるいは ASCII ファイルとして扱うために用いることができます。 Lynx の ftp ゲートウェイは通常はこれを自分自身で決定しますが,内部の手 続きが ftp URL の種類について不正なインターフェースを引き出すときはこ のパラメータを用いることができます。

/path は VMS および VM/CMS ftp サーバのために RFC1738 に したがって扱われます。先頭のスラッシュ(/)は純粋にセパレータと して扱われ,ルートを示すものとは扱われず,path 文字列はもし存 在するならログインディレクトリの中あるいは下として扱われます。VMS ftp サーバでは,最初の要素をファイルあるいはサブディレクトリの代わりにデバ イスとして扱いたいならば,16進エスケープされたスラッシュ(%2f) ではじめます,例えば:
ftp://user@myhost/%2fsys$common/syshlp
は $sys$common:[syshlp] のリストのために用いることができます。
VM/CMS ftp サービス上でも,path 文字列が vmsysu%3a ではじまれば,SFS パスとして特別な扱いを受けます,例えば以下です:
ftp://ubum.cc.buffalo.edu/vmsysu%3alistserv.webshare

Unix あるいは Unix を模倣した ftp サービスについては,RFC1738 は考 慮されず,先頭のスラッシュはルートとして扱われます,つまり, /path は file URL のものと同等に扱われます。この違いは anonymous ftp では無意味ですが,非匿名アカウントのために ftp を使用す るときに問題になります。もし Unix サーバで ftp を用いてログインディレ クトリのリストを得ようとしたり,path 文字列をログインディレク トリ以下のファイルあるいはパスとして扱ってもらいたいときは,file URL のように チルダ(~)を含めてください, 例えば以下です:
ftp://user@myhost/~


wais URL:

wais URL は広域情報システム(Wide Area Information System)プロトコルを 用いた資源を取得するのに用いられます。フォーマットは以下です:
wais://host:port/database
wais://host:port/database?wais_query
wais://host:port/database/wais_type/wais_path
ここで :port:210 がデフォルトです。

ダイレクト wais サポートは VMS の Lynx に構築され,Unix 上の Lynx でコンパイルすることができます。ダイレクト wais サポートが不可能なら, Lynx は W3C の wais ゲートウェイを使用します。

database のみが URL で示されているなら,Lynx はその database を検索するためのISINDEX カバーページを返し, wais_queryを付加して検索を送信します。Lynx はサーバからの返答 を wais_typewais_path を含む URL からなるヒット リストに変換してアイテムをそのヒットリストから取得できるようにします。


news, nntp および snews URL:

news および nntp URL は Lynx によって RFC1738 に記述されたように扱われ ますが,他のクライアントとの互換性のために,Lynx は,本来は nntp URL でのみ用いるべき,ホストおよびポートフィールドを news URL に 含めることを認めています。news URL に含まれていなければ,Lynx は NNTPSERVER 環境変数あるいは設定(lynx.cfg を参照)により与えられる nntp サーバを,デフォルトのポート :119 で利用します。ホストフィー ルドは nntp URL では含まれていなければならず,ポートフィールドはオプショ ンで同一のものがデフォルトです。snews URL のサポートのためのパッチは Lynx links のリンクを通じて条件付きで入手することができますが, 一般への配布には含まれていません(すみません, http および https を見てください)。フォーマットは次のとおりです:
news:newsgroup (ニュースグループのメッセージリストの取得)
news:messageID (メッセージの取得)
news:* (すべての購読可能なニュースグループのリストの取得)
nntp://host:port/newsgroup
nntp://host:port/messageID
nntp://host:port/*
(snews は nntp と同一で,デフォルトポートは :563 です。)

messageID はメッセージの個有な識別子で,識別文字列とメッセー ジの送信元のホストからなります(ident_string@origin_host)。

Lynx はアスタリスクによるワイルドカードもニュースの階層的なリストの ためにサポートします,例えば,次のとおりです:
news:comp.infosystems.*
nntp://host:port/comp.infosystems.*
(snews は nntpと同一で,デフォルトポートは :563 です。)
これは RFC1738 にはなく他のすべてのクライアントでサポートされているわ けではありません。

news URL について,Lynx はメールでメッセージの著者に対してリプ ライしたり,ニュースへの投稿ができるならば,そのニュースグループ へフォローを送ったりすることができます。nntp URL ではメールで の筆者へのリプライのみが認められます。

Lynx はサポートされたスキーマの URL であると思われるニュースメッセー ジの文字列を,そのURLにアクセスするためのリンクに変換します。

Lynx はメッセージ番号の URL スキーマもサポートします:
news:newsgroup/startNo-endNo (ニュースグループ内の範囲を指定したメッセージのリスト)
news:newsgroup/messageNo (番号によるメッセージの取得)
nntp://host:port/newsgroup/startNo-endNo
nntp://host:port/newsgroup/messageNo
(snews は nntp と同一で,デフォルトポートは :563 です。)
このスキーマの利用は推奨されません,なぜならメッセージ番号は,ニュース メッセージの固有な識別子とは異なり,それぞれの nntp サーバに固有だか らです。


mailto URL:

mailto URL は起動されるとコメントまたは FORM の内容をインターネットメー ルアドレス(ユーザ@ホスト)に送るために用いられるリンクを提供するのに利 用されます。フォーマットは次のとおりです: mailto:user@host

RFC1738 での mailto URL の記述は単一の受信者のみ許されるものとして 解釈されていますが,mailto URL を導入した Lynx は,常に user@host アド レスの列をコンマで区切ったリストとしてサポートしており,今でもそうです。 Explorer との互換性のために,Lynx はセミコロンで区切ったリストも受け付 けています。

Netscape との互換性のために,Lynx は URL に付加された ?subject=The%20Subject を解析し,? で URL を切り取り, 値をメッセージあるいは FORM を内容とするメールのデフォルトの Subject: として用います。これは推奨されない習慣です。maito HREF,あるいは maito ACTION の FORM でデフォルトの Subject: を指定するより好ましい方法はサ ブジェクトの文字列を値としてとる TITLE 属性を通じたものです,例えば以 下です:
<LINK REV="made"
HREF="mailto:me@myhost,her@herhost" TITLE="The Subject">

<A HREF="mailto:user@host" TITLE="The Subjcet">...</A>

<FORM METHOD="post" ENCTYPE="text/plain"
ACTION="mailto:WebMaster@host" TITLE="The Subject">
...
</FORM>

FORM の TITLE 属性は提案されてはいますが HTML の仕様,あるいはドラ フトには含まれておらず,それまでは(あるいはそうならないならば) Lynx の 特徴であると考えるべきであることに注意してください。FORM タグではこの 目的のために SUBJECT 属性を用いるクライアントがあり,Lynx はこれを TITLE と同じものとして認識します。

ENCTYPE="text/plain" が mailto ACTION の FORM で指定されて いるなら,内容を直接読めるようにするために,Lynx は name=value の組を 16進エスケープせず,'&'または';'の代わりに物理的 な改行を組の切れ目に用います。そうでなければ,Lynx は内容をデフォルト では前者,後者が指示されているならば後者でメールします。:
ENCTYPE="application/x-www-form-urlencoded" ('&'で区切られた組)
あるいは:
ENCTYPE="application/sgml-form-urlencoded" (';'で区切られた組)

FORM の内容をメールするとき Lynx は,メールソフトウェアのバッファが 溢れることを避け,ゲートウェイ間での信頼できる転送を保証するために,78 文字より長い行を改行することに注意してください。ENCTYPE が text/plain でなかったらメールされた内容を復号化するスクリプト は物理的な改行を無視し,16進エスケープされた改行文字のみを復号化された 内容で現れる改行として認識するべきです。


finger URL:

Lynx は finger プロトコルを完全にサポートしていますが,finger URL のフォー マットはまだ IETF によって採り入れられていません。Lynx によりサポート されるフォーマットはしたがって,RFC1738 に矛盾しないすべての可能性を含 みます:
 finger://host                         finger://@host
 finger://host/                        finger://@host/
 finger://host/%2fw                    finger://@host/w
 finger://host/w                       finger://host/w/
 finger://host/username[@host]         finger://username@host
 finger://host/username[@host]/        finger://username@host/
 finger://host/w/username[@host]       finger://username@host/w
 finger://host/%2fw%20username[@host]  finger://host/username[@host]/w
 finger://host/w/username

finger URL を起動すると指定されたホストの79番ポートを通じて finger サーバにリクエストを送信します。URL に:79を含めることができま すが,その他の値は認められません。/w あるいは/%2fw は finger サーバのサポートする完全なレポートを要求するために用いられ, これは文字の大小を区別しません(つまり,/W あるいは %2fW でもよい)。サポートされたスキーマの URL であると思われる レポート中の文字列はその URL にアクセスするためのリンクに変換されます。

finger サーバにアクセスするもう一つの方法は79番ポートとプレインテキ スト(0) gophertype を指定された gopher URL を通じた ものです:
gopher://host:79/0
Lynx はこのような URL を,サポートされた URL であると思われる文字列の ためのリンクの生成を含めて,明示的な finger URL と等価に扱います。


cso URL:

cso URL は CSO/PH (QI) サーバへのゲートウェイを提供することを目的とし ます。リクエストは,以下の明示的な cso URL フォーマットにより,デフォ ルトで105番ポート(:105)になされます:
cso://host

105番ポートと CSO(2) gophertype を指定された gopher URL を用いることもできます:
gopher://host:105/2

Lynx は上記の URL のサーバによって返されるデータ列を待ち,付加的 な要求(検索)をサーバに送信する FORM を生成します。サポートされたスキー マの URL であると思われる,これらの要求(検索)で返されるレポートの任意 の文字列はその URL にアクセスするためのリンクに変換されます。


lynxexec および lynxprog URL:

Lynx でコマンドの実行が認められているならば,lynxexec と lynxprog URL がシステムコマンドを実行したりシステムユーティリティを起動したりするの に利用できます。任意のシステムコマンドと関連するスイッチや限定子が, Unix 上で動作する Lynx では shell の適切な構文で,VMS 上では DCL の構 文で利用できます,例えば以下です:
lynxexec:dir/date/size foo:[blah] (VMS)
lynxexec:ls -l /foo/blah (Unix)
lynxprog:news
(しかし,利用可能なコマンドやユーティリティの制限はシステム管理者によっ て課されることに注意してください。)

URL に,スキーマフィールドとコマンドの間に,付加的に //localhost/ を含めることができますが,これは常に仮定されます。 lynxexec と lynxprog URL は,lynxexec では実行されたコマンドによって生 成された出力表示を読むことができるように,Lynx が表示を消去して前の表 示に戻す前に改行を入力することを要求されるのに対して, そのような間は lynxprog によって起動されるユーティリティから抜けるとき には与えられない,という点でのみ異なります。

これらは Lynx の特徴であり,Lynx だけを対象にしたローカルの文書での み利用するべきです。


lynxcgi URL:

lynxcgi URL は Unix でのみ実装され,Lynx のイメージが許可しているなら ば,FORM の ACTION として利用できます:
lynxcgi://localhost/path_to_CGI_script
ここで,//localhost/ はオプションで常に仮定され ます。スクリプトの出力は text/html でなければならず,Lynx によって整形, 表示されます(許されるパスの制限はシステム管理者によって与えられること に注意してください。)

これは Lynx の特徴であり,Lynx だけを対象にしたローカルの文書でのみ 利用するべきです。

VMS では,もしまだ http サーバを導入していないのであれば,ftp://osu.edu からフリーウェアとして入手可能 な,threaded OSU http server を利用することを奨めます。これは純粋なロー カルスクリプトサーバとしてインストールでき,Lynx と組み合わせた他のコー ドよりも有効で直観的です。


LYNXfoo 内部 URL:

Lynx はさまざまな内部 URL スキーマをディスプレイモジュールとの通信のた めの構造化された出力オブジェクトとして利用します。もしこれらを見つけて, 文書の外部から利用しようと思うなら,自制心を持ってその欲求に耐え てください!!!

たとえば,いくらそうしようと思っても,これらを使ってはいけませ ん:
<A HREF="LYNXHIST:0">Startfile</A>に戻る
<A HREF="LYNXKEYMAP:">Keymap</A>を確認する
(確かに,動きます。何の害悪もないでしょうが....)

もしどうしても試したければ,2番目のものはコマンドラインか ら実行できます:
lynx LYNXKEYMAP:
しかし,Lynx 内では,'K' キー入力コマンドを使ってください。