<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <dfn><code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code></dfn> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> によってアクセス可能な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>を表す
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> です。</p><section><h1>仕様書</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> は現在公式には仕様書が存在しない状態です。</p></section><section><h1>意味</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">USER</anchor></code>,
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PASS</anchor></code>, <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor></code>, <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TYPE</anchor></code>, <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NLST</anchor></code>,
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code> といった<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>の連続によってアクセス可能な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>を表しています。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">転送モード</anchor>としては常に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ストリーム・モード</anchor>を使うことを表している
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src> とされていました。この規定は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> で削除されています。</p></history></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層的</anchor>であり、
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">userinfo</anchor></code> (<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">user</anchor></code>, <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">password</anchor></code>),
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">host</anchor></code>, <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">port</anchor></code>,
<code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor></code>, <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fragment</anchor></code> を使うことができます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL query</title></anchor> も一部使っています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor> を使うこともできます。</p></section><section><h1>userinfo</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">userinfo</anchor></code> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> でアクセスするための<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>を指定できます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.1.</src> これは <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">USER</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PASS</anchor></code> 両<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>で使います。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.1.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> 省略された場合の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">匿名FTP</anchor> の慣習により、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor>
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">anonymous</anchor></code>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール・アドレス</anchor>となります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.1.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> <code>User@</code> などの実装依存の値が使われているようです。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebブラウザーのFTPの動作</anchor>を参照。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> 
この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メール・アドレス</anchor>は可能であれば実際に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が使えるアドレスとするべきであり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IPアドレス</anchor>に解決されるような <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DNS</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト名</anchor>であることが好ましいとされていました。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src></p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> この要件は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> で削除されています。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メールアドレス</anchor>を指定するとの慣習は、90年代末には崩壊していました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プライバシー</anchor>保護のため、実装は勝手に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">電子メールアドレス</anchor>を送信するべきではありません。</p></history><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor>だけしか指定されていない場合で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>を要求してきた場合は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に尋ねるべきです。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.1.</src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> 現実にはどちらも指定されていない場合であっても、必要なら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に問い合わせるのが一般的な気がします。</comment-p></section><section><h1>port</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定のポート番号</anchor>は <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">21</anchor></code> です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.</src>。</p></section><section><h1>path</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> 部分は次のような構文となります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.</src></p><pre class="code">/&lt;cwd1&gt;/&lt;cwd2&gt;/.../&lt;cwdN&gt;/&lt;name&gt;;type=&lt;typecode&gt;</pre><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> これ全体が省略可能です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src>
省略された場合、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの正準化</anchor>により、 <code>/</code> が指定されたとみなされます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <var>cwd</var> や <var>name</var> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>であっても構いません。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <code class="URI">;type=...</code> は省略可能です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2., <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.3.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> 先頭の <code>/</code> の直後から <code>;</code> の直前までの部分が、実際に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor>
で用いられる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パス</anchor>として扱われます。この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パス</anchor>全体について、
一度で <code>RETR</code> や <code>CWD</code> が行われます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> ただし、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非ASCII文字</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URLの正準化</anchor>により <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号化</anchor>されますし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">復号</anchor>し、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>を得て、
それを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パス</anchor>として使います。元の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> に <code>%2F</code> が含まれていると、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> としては <code>/</code> とは違いますが (例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URLの解決</anchor>に影響します)、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> レベルでは <code>/</code> と指定したのと同じことになります。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> しかしかつては違った規定や実装のされ方もありました。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> によるアクセスにおいて、まず <var>cwd</var>
によって表される <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を発行し、次に
<var xml:lang="en">typecode</var> によって表される <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TYPE</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を発行し、
最後に <var xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">name</anchor></var> によって表される <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を発行することを意味しています。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> なお、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> の構文定義では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> 内で <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">?</anchor></code>
を使うことができるとされていましたが、これは誤りであったと考えられており、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> で訂正されています。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal> 2.3.</src></p><section xmlns="http://www.w3.org/1999/xhtml"><h1>ディレクトリー部分</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <var>cwd</var> の部分は、それぞれについて <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor></code> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を発行して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">作業ディレクトリー</anchor>を変更することを表しています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> では <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>の区切りに使うので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の背後の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル・システム</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>が同じになることがあります。
ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unix</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル・システム</anchor>により実装しなければならないわけではありません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.4.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> 仕様上は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層化</anchor>について共通のモデルが無く、
同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> アクセスを連続して行う時に意図した<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>へと確実に移動する方法がありません。
2つの同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホスト</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> へのアクセスを意図通り確実に行う方法は、
一旦接続を切断して再接続するというものだけです。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.5.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <var>cwd</var> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>となることがありますが、これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>を与えて
<code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を送信するということのよう <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src> です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <code class="URI">frp://foo.example/bar</code> という <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor>
に基づいて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> で <samp>foo.example</samp>
に接続した時、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> に従えば <samp class="FTP">CWD bar</samp>
を送る必要がありますが、多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UA</anchor>
は <samp class="FTP">CWD /bar</samp> とします。</p><p>このため、 <code class="URI">frp://foo.example/~bar</code>
で、利用者 <samp>bar</samp> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HOME</anchor> を示しているものを正しく動作させるためには最初の文字が <code class="URI">~</code>
である時だけ特別扱いしないといけません。</p><p>なお、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Lynx</anchor> は RFC 1738 に触れながらも、現実の実装にあわせて敢えて
「間違った」やり方にしていると言っています。</p><p>RFC 1738 の方法に従うと、 FTP で接続した直後の current directory
によって URI の指すものが変わってくる虞があります。</p><p>(参考 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">w3m-dev</anchor> #3787)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> のような事情で、 <samp class="URI">ftp://user@foo.example/</samp> だと root directory になるが、 <samp class="URI">ftp://user@foo.example/./</samp> だと <code class="file">~</code> になるという裏技(?)があるらしい。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> 
2004年の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor> (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;19</anchor-internal>) は、「ほとんどの実装は最初に <code class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> をつける」
としながらも、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> と同じ定義を採用し、「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鯖</anchor>の実装者は二つの解釈があるので注意せよ」
と述べるにとどまっています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;19</anchor-internal> 2.2</src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> のんきなものですね。標準化は何のためにやるものなんだか。</comment-p></section><section xmlns="http://www.w3.org/1999/xhtml"><h1>ファイル名部分</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <var>name</var> の部分は <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>により取得する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>を表します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> では <var>name</var> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>の時には <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NLST</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の一覧を取得することを表すとされていました
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src> が、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> ではそうは説明されていません。
代わりにどのような意味を表すのかは明確ではありませんが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空文字列</anchor>を引数として <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を送信するということで良いのでしょうか・・・。</p></section><section xmlns="http://www.w3.org/1999/xhtml"><h1>パーセント符号化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> <var xml:lang="en">cwd</var> と <var xml:lang="en">name</var> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>を使えます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>に使う前に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント復号</anchor>しなければなりません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <var xml:lang="en">cwd</var> と <var xml:lang="en">name</var> において <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> と
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">;</anchor></code> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">予約</anchor>されており、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>の引数として使うことを意図しているのであれば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>しなければなりません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code> とその値について、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor>
構文上<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パーセント符号化</anchor>は認められていません。</p></section></history><section><h1><code class="URI" xml:lang="en">type</code></h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> の最後には <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TYPE</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>によって指定する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ型</anchor>を付加できます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> での定義 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src><ul><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">A</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">E</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">L</anchor></code> のいずれか</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">A</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">E</anchor></code> の場合は、その後に更に <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">N</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">T</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">C</anchor></code> のいずれか</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">L</anchor></code> の場合は、その後に1文字以上の <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DIGIT</anchor></code></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> での定義 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal> 3.2.2.</src><ul><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">a</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">i</anchor></code>, <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">d</anchor></code> のいずれか</li></ul></li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">テキスト</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイナリー</anchor>といった <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> の転送時の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ型</anchor>は、
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>と <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>の間に
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TYPE</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を送信することによって指定します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ型</anchor>を決定する方法は一般には存在しません。 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code>
が指定されている場合は、それを利用します。そうでない場合は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル名</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接尾辞</anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>) などから推定しなければなりません。ただしそれについて標準化された方法はありません。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> ただし、値が <code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">d</anchor></code> の場合、 <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TYPE</anchor></code> と <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code>
の代わりに <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NLST</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">命令</anchor>を送信して、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の一覧を取得します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> これは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> にはありませんでした。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> 「<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor></code>」の部分は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> の構文定義上は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>でなければならないように読めます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> では <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> 構文定義上<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>でも構わないと解釈するのが形式的には正しいのでしょうが、
値の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成規則</anchor>ではあえて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>を列挙しているので、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>だけしか認めないという意図があるかもしれません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> の構文定義上は値は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>でなければならないように読めますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>で示されており、
現実にも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">小文字</anchor>でも構わないようです。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor>
構文定義上は両方共認められています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">;</anchor></code> 以後の部分は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> までは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor> (<code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">params</anchor></code>)
として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> とは別の構成部品と考えられていました。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2396</anchor> 以後は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor>
の一部とみなされています。</comment-p></section><section><h1>ディレクトリーの表現</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> 前述の通り、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>を表す <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> としては <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor>
による <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> を <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> で終わらせる方法と、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor>
による <code class="URI" xml:lang="en">;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">d</anchor></code> で終わらせる方法が存在しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> この両者は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決</anchor>において解釈を変えてしまいます。
そのため、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor> を扱う文脈にあっては <code class="URI" xml:lang="en">;<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">type</anchor>=<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">d</anchor></code>
の方法を使わないことを推奨しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal> 5.3.</src>。</p></section></section><section><h1>query</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は <code>raw</code> が指定されていると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>内表示を整形した
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> ではなく、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>から送られてきたテキストデータのままで表示します。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sniffing</anchor> も行いません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>以外では無視します。 <time>2016-06-23T14:42:46.800Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> 他の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">query<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL query</title></anchor> があっても無視します。</p></section><section><h1>処理</h1><section><h1>fetch</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebブラウザーのFTPの動作</anchor>参照。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> <code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor></code> によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>を取得したり、 
<code xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NLST</anchor></code> によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>内の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ファイル</anchor>の一覧を取得したりする操作は、
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の定義として概ね明確に規定されています。</p><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> それ以外の、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アップロード</anchor>や情報の取得などの操作に <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を使うことについては述べない <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src> とされています。</p></history></section><section><h1>フォーム提出</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォームの提出</anchor>参照。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en-US-x-hixie">Web Applications 1.0</cite> (<time>2011-06-04 00:47:42 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.whatwg.org/specs/web-apps/current-work/complete.html#form-submission-algorithm">http://www.whatwg.org/specs/web-apps/current-work/complete.html#form-submission-algorithm</anchor-external></li></ul></refs></section></section><section><h1>歴史</h1><section><h1>RFC 1630</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> として最初の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> の仕様書である <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1630</anchor> には、 <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の仕様も含まれていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <cite xml:lang="en">RFC 1630 - Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web</cite> (<time>2011-06-04 17:20:47 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc1630#page-14">http://tools.ietf.org/html/rfc1630#page-14</anchor-external></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">1994年</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> 構文は次のように定義されていました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></src>。</p><pre class="code">  ftpaddress             f t p : / / login / path [  ftptype ]
  login                  [ user [ : password ] @ ] hostport
  ftptype                A formcode | E formcode | I | L digits
  formcode               N | T | C</pre><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftptype</anchor></code> の定義が間違っています。なお、 
<code xmlns="http://www.w3.org/1999/xhtml" class="URI"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">/</anchor></code> で終わる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリー</anchor>指定の場合は <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor></code>
の定義に含まれています。</comment-p></section><section><h1>RFC 1738</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化過程</anchor>としては最初の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の仕様書である <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> にも、
<code class="URI" xml:lang=""><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の仕様が含まれていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <cite xml:lang="en">RFC 1738 - Uniform Resource Locators (URL)</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc1738#section-3.2">http://tools.ietf.org/html/rfc1738#section-3.2</anchor-external></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">1994年</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> 構文は次のように定義されていました <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 5.</src>。</p><pre class="ABNF code">; FTP (see also RFC959)

ftpurl         = &quot;ftp://&quot; login [ &quot;/&quot; fpath [ &quot;;type=&quot; ftptype ]]
fpath          = fsegment *[ &quot;/&quot; fsegment ]
fsegment       = *[ uchar | &quot;?&quot; | &quot;:&quot; | &quot;@&quot; | &quot;&amp;&quot; | &quot;=&quot; ]
ftptype        = &quot;A&quot; | &quot;I&quot; | &quot;D&quot; | &quot;a&quot; | &quot;i&quot; | &quot;d&quot;</pre></section><section><h1>RFC 1808</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化過程</anchor>としては最初の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor> の仕様書である <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> には、
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相対URL</anchor> の扱いについての規定も含まれていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">RFC 1808 - Relative Uniform Resource Locators</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/rfc1808">http://tools.ietf.org/html/rfc1808</anchor-external></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">1995年</comment-p></section><section><h1>RFC 改訂、されない</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> はその後 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 2368</anchor> (1998年), <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 3986</anchor>
(2005年) と二度も改訂され、
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> を含む個別の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> の定義は含まれないようになりましたが、
<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> の定義は独立した <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> にならないまま <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1808</anchor> ともに廃止されてしまいました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 現実には <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> の中ではよく使われている部類なのですが、
数年以上公式には廃止された状態が続くとか、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IETF</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">標準化過程</anchor>は無茶苦茶ですね。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 一応 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor> はありますが、果たして完成するのかどうか。</p><section><h1>draft-casey-url-ftp (1997)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <cite xml:lang="en">draft-casey-url-ftp-00 - A FTP URL Format</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-casey-url-ftp-00">http://tools.ietf.org/html/draft-casey-url-ftp-00</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> この <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor> は基本的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> の定義を踏襲していますが、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>
の件を既知の問題として記述しています。</p></section><section><h1>draft-hoffman-ftp-uri (2004-2005)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <cite xml:lang="en">draft-hoffman-ftp-uri-04 - The ftp URI Scheme</cite> 
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://tools.ietf.org/html/draft-hoffman-ftp-uri-04">http://tools.ietf.org/html/draft-hoffman-ftp-uri-04</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> この2004年の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">I-D</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 1738</anchor> の該当部分を抜き出しただけで、唯一の違いは <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal>
です。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ABNF</anchor> 構文定義はコピペされていないので、構文は本文中で曖昧に述べられているだけです。
仕事が雑ですねぇ。</p></section><section><h1>draft-yevstifeyev-ftp-uri-scheme (2011)</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <cite xml:lang="en">draft-yevstifeyev-ftp-iri-00 - Internalization of 'ftp' URIs</cite> (<time>2017-04-25 03:49:50 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/draft-yevstifeyev-ftp-iri-00">https://tools.ietf.org/html/draft-yevstifeyev-ftp-iri-00</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite xml:lang="en">draft-yevstifeyev-ftp-uri-scheme - The 'ftp' URI Scheme</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/draft-yevstifeyev-ftp-uri-scheme">https://tools.ietf.org/html/draft-yevstifeyev-ftp-uri-scheme</anchor-external></li></ul></refs></section></section><section><h1>フォーム提出</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Forms 2.0</anchor> ではじめて <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム提出</anchor>の処理モデルが規定されました。
これはその後 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Applications 1.0</anchor> に取り込まれました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en-GB-x-Hixie">Web Forms 2.0</cite> (<time>2009-01-05 20:07:15 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.whatwg.org/specs/web-forms/current-work/#for-ftp">http://www.whatwg.org/specs/web-forms/current-work/#for-ftp</anchor-external></p></section></section><section><h1>例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <pre class="URI example code">ftp://ftp.is.co.za/rfc/rfc1808.txt</pre></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end><pre class="URI example code">ftp://user@example.com:/pub/ruby;type=i</pre></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">この <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> を書いた人の意図とは違うような気もしますが、たまたま正しい <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> です。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <pre class="URI example code">ftp://myname@host.dom/%2Fetc/motd</pre></p><ol><li><var xml:lang="en">host.dom</var> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> で接続して</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor> <var xml:lang="en">myname</var> (と、聞かれれば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に尋ねた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>) でログインし、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor> /etc</code> を実行し、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor> motd</code> を実行します。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></li></ol><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <pre class="URI example code">ftp://myname@host.dom/etc/motd</pre></p><ol><li><var xml:lang="en">host.dom</var> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> で接続して</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor> <var xml:lang="en">myname</var> (と、聞かれれば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に尋ねた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>) でログインし、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor> etc</code> を実行し、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor> motd</code> を実行します。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></li></ol><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <pre class="URI example code">ftp://myname@host.dom//etc/motd</pre></p><ol><li><var xml:lang="en">host.dom</var> に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> で接続して</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者名</anchor> <var xml:lang="en">myname</var> (と、聞かれれば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に尋ねた<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合言葉</anchor>) でログインし、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor> </code> を実行し、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CWD</anchor> etc</code> を実行し、</li><li><code><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RETR</anchor> motd</code> を実行します。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 3.2.2.</src></li></ol><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> <pre class="URI example code">ftp://host/~/foo/bar.html
ftp://user:pass@host/~/</pre></p><p><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> の問題への対処として、実際の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>の挙動に従うとして、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホーム・ディレクトリー</anchor>からの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path</anchor> でアクセスする方法が必要であると提案されていた
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;71</anchor-internal></src> 構文です。</p></section><section><h1>関連</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ftp:</anchor></code> と <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">file:</anchor></code> はしばしば混同されますが、別物です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sftp:</anchor></code>、<code class="URI" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tftp:</anchor></code> という <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL scheme</anchor> がありますが、そもそも
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FTP</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SFTP</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TFTP</anchor> は別物です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <cite>Results for ftp: URL canonicalization (See <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://suika.suikawiki.org/www/url/perl-weburl/t/browsers/decomps.html?decomps-ftp.dat;compat">https://suika.suikawiki.org/www/url/perl-weburl/t/browsers/decomps.html?decomps-ftp.dat;compat</anchor-external>)</cite>
( (<time>2011-06-05 18:11:20 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://suika.suikawiki.org/gate/test-results/list/url-canon-ftp-20110604/all">https://suika.suikawiki.org/gate/test-results/list/url-canon-ftp-20110604/all</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <cite>URL Schemes Supported in Lynx</cite>
( (<time>2012-02-13 02:46:17 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lynx.isc.org/current/lynx2-8-8/lynx_help/lynx_url_support.html#ncftp_url">http://lynx.isc.org/current/lynx2-8-8/lynx_help/lynx_url_support.html#ncftp_url</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <cite>ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic</cite>
( (<time>2014-04-07 05:29:11 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L189">https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L189</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <cite xml:lang="en">FTP URLs</cite>
( (<time>2008-04-03 16:27:04 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.cs.tut.fi/~jkorpela/ftpurl.html">https://www.cs.tut.fi/~jkorpela/ftpurl.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en">mod_proxy_ftp - Apache HTTP Server Version 2.4</cite>
(<time>2015-01-02 00:30:56 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://httpd.apache.org/docs/current/en/mod/mod_proxy_ftp.html#percent2fhck">http://httpd.apache.org/docs/current/en/mod/mod_proxy_ftp.html#percent2fhck</anchor-external></figcaption><blockquote><p>An FTP URI is interpreted relative to the home directory of the user who is logging in. Alas, to reach higher directory levels you cannot use /../, as the dots are interpreted by the browser and not actually sent to the FTP server. To address this problem, the so called Squid %2f hack was implemented in the Apache FTP proxy; it is a solution which is also used by other popular proxy servers like the Squid Proxy Cache. By prepending /%2f to the path of your request, you can make such a proxy change the FTP starting directory to / (instead of the home directory). For example, to retrieve the file /etc/motd, you would use the URL:</p><p>ftp://user@host/%2f/etc/motd</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <cite>GridFTP: User's Guide </cite>
(<time>2015-06-06 19:00:18 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://toolkit.globus.org/toolkit/docs/3.2/gridftp/user/globusurlcopy.html">http://toolkit.globus.org/toolkit/docs/3.2/gridftp/user/globusurlcopy.html</anchor-external></figcaption><blockquote><p>Note: For FTP URLs, it is legal to specify a user name and password in the URL as follows:</p><p>ftp://myname:mypassword@myhost.mydomain.com/foo.dat </p><p>This is highly discouraged as you will be sending your username and password in plain text over the network.  For servers provided in the Globus Toolkit, username and password is not a permitted authentication method and so this format will result in an error (??? what error ???).  The exception to this is anonymous FTP access (how does this work in globus-url-copy).</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <cite>DUPLICITY(1) manual page</cite>
(<time>2015-05-07 01:40:02 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://duplicity.nongnu.org/duplicity.1.html#sect7">http://duplicity.nongnu.org/duplicity.1.html#sect7</anchor-external></figcaption><blockquote><p>FTP</p><p>ftp<strong>[</strong>s<strong>]</strong>://user<strong>[</strong>:password<strong>]</strong>@other.host<strong>[</strong>:port<strong>]</strong>/some_dir</p><p>NOTE: use lftp+, ncftp+ prefixes to enforce a specific backend, e.g. ncftp+ftp://...</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <cite>The FTP Content Provider</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Kai Sommerfeld</anchor> 著, <time>2015-06-22 15:03:16 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.openoffice.org/ucb/docs/ucp-ref/ftp-ucp.html">https://www.openoffice.org/ucb/docs/ucp-ref/ftp-ucp.html</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> (<time>2015-11-19 16:20:00 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.ring.gr.jp/">http://www.ring.gr.jp/</anchor-external></figcaption><blockquote><p>&lt;td width=&quot;2%&quot;&gt;</p><p>&lt;center&gt;&lt;a href=&quot;http://ring.u-toyama.ac.jp/index.html.ja&quot;&gt;&lt;img src=&quot;ring/images/U-toyamaLogo.png&quot; alt=&quot;&quot; height=&quot;64&quot; width=&quot;64&quot;&gt;&lt;br&gt;富山大学&lt;/a&gt;&lt;/center&gt;</p><p>&lt;center&gt;</p><p>&lt;a href=&quot;http://ring.u-toyama.ac.jp/archives/&quot;&gt;HTTP&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;ftp://ring.u-toyama.ac.jp/pub/&quot;&gt;FTP&lt;/a&gt;&lt;br&gt;</p><p>&lt;/center&gt;</p><p>&lt;/td&gt;</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> (<time>2015-11-23 02:14:57 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.iana.org/time-zones">https://www.iana.org/time-zones</anchor-external></figcaption><blockquote><p>&lt;ul&gt;</p><p>&lt;li&gt;HTTP: &lt;a href=&quot;http://www.iana.org/time-zones&quot;&gt;http://www.iana.org/time-zones&lt;/a&gt;&lt;/li&gt;</p><p>&lt;li&gt;FTP: &lt;a href=&quot;ftp://ftp.iana.org/tz/&quot;&gt;ftp://ftp.iana.org/tz/&lt;/a&gt;&lt;/li&gt;</p><p>&lt;li&gt;Rsync: &lt;a href=&quot;rsync://rsync.iana.org/tz/&quot;&gt;rsync://rsync.iana.org/tz/&lt;/a&gt;&lt;/li&gt;</p><p>&lt;/ul&gt;</p></blockquote></figure><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <cite>cURL - How To Use</cite>
( (<time>2016-05-31 06:05:05 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://curl.haxx.se/docs/manpage.html#-B">https://curl.haxx.se/docs/manpage.html#-B</anchor-external></figcaption><blockquote><p>-B, --use-ascii</p><p>(FTP/LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using an URL that ends with &quot;;type=A&quot;. This option causes data sent to stdout to be in text mode for win32 systems.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> <cite xml:lang="en">207298 – FTP directory problems w/ URL parsing when URL root is not filesystem root</cite>
( (<time>2016-06-12 00:05:47 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=207298">https://bugzilla.mozilla.org/show_bug.cgi?id=207298</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <cite xml:lang="en">202419 – ftp://@hostname should tell FTP to use username and password auth</cite>
( (<time>2016-06-12 00:10:49 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=202419">https://bugzilla.mozilla.org/show_bug.cgi?id=202419</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <cite>Intent to deprecate: Legacy subresource requests. - Google グループ</cite>
(<time>2017-01-22 13:12:15 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/a/chromium.org/forum/#!topic/net-dev/bAMVnc1Zyvs">https://groups.google.com/a/chromium.org/forum/#!topic/net-dev/bAMVnc1Zyvs</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> <cite xml:lang="en">333943 - Remove built-in support for FTP from Chrome - chromium - Monorail</cite>
(<time>2017-01-22 13:13:28 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=333943">https://bugs.chromium.org/p/chromium/issues/detail?id=333943</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <cite xml:lang="en">Block ftp URL requests from non-FTP clients</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mikewest</anchor>著, <time>2017-02-17 18:40:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/d4114a3b0926fda64a7708d4ec56c6d007b5d133">https://github.com/whatwg/fetch/commit/d4114a3b0926fda64a7708d4ec56c6d007b5d133</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <cite xml:lang="en">Session URL :: WinSCP</cite>
( (<time>2017-03-26 04:29:55 +09:00</time>))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://winscp.net/eng/docs/session_url">https://winscp.net/eng/docs/session_url</anchor-external></figcaption><blockquote><p>sftp|ftp|ftps|ftpes|http|https|scp :// <strong>[</strong> &lt;username&gt; <strong>[</strong> : &lt;password&gt; <strong>]</strong> <strong>[</strong> ; &lt;fingerprint&gt; <strong>]</strong> @ <strong>]</strong> &lt;host&gt; <strong>[</strong> : &lt;port&gt; <strong>]</strong> /</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> <cite>PSA: `ftp://` resources will be marked &quot;Not Secure&quot; - Google グループ</cite>
(<time>2017-09-20 17:09:58 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/HknIAQwMoWo/xYyezYV5AAAJ">https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/HknIAQwMoWo/xYyezYV5AAAJ</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <cite xml:lang="en">744499 - Consider downloading `ftp://` resources rather than rendering them. - chromium - Monorail</cite>
(<time>2017-09-20 17:14:24 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=744499">https://bugs.chromium.org/p/chromium/issues/detail?id=744499</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <cite>BitBake User Manual</cite>
(<time>2017-11-20 17:21:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.yoctoproject.org/docs/2.4/bitbake-user-manual/bitbake-user-manual.html#http-ftp-fetcher">http://www.yoctoproject.org/docs/2.4/bitbake-user-manual/bitbake-user-manual.html#http-ftp-fetcher</anchor-external></figcaption><blockquote><p>The fetcher supports a parameter &quot;downloadfilename&quot; that allows the name of the downloaded file to be specified. Specifying the name of the downloaded file is useful for avoiding collisions in DL_DIR when dealing with multiple files that have the same name.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> <cite xml:lang="en">435547 - Evaluate dropping legacy and credentialed subresource requests. - chromium - Monorail</cite>
(<time>2018-02-05 23:26:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugs.chromium.org/p/chromium/issues/detail?id=435547">https://bugs.chromium.org/p/chromium/issues/detail?id=435547</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <cite xml:lang="en">1404744 - Block ftp subresource requests inside http(s) pages</cite>
(<time>2018-04-15 21:28:11 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=1404744">https://bugzilla.mozilla.org/show_bug.cgi?id=1404744</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> <cite xml:lang="en">1361848 - ftp allows bypassing cross site authentication (XSA) warning on login forms</cite>
(<time>2018-04-15 21:28:41 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://bugzilla.mozilla.org/show_bug.cgi?id=1361848">https://bugzilla.mozilla.org/show_bug.cgi?id=1361848</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> <cite>Intent to implement and ship: Blocking FTP subresources - Google グループ</cite>
(<time>2018-04-15 21:29:02 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://groups.google.com/forum/#!topic/mozilla.dev.platform/HzumeW2JQW8">https://groups.google.com/forum/#!topic/mozilla.dev.platform/HzumeW2JQW8</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> <cite xml:lang="en">Consider a blocklist for schemes instead of a safelist · Issue #3998 · whatwg/html</cite>
(<time>2018-09-13 22:34:59 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/3998">https://github.com/whatwg/html/issues/3998</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> <cite xml:lang="en-US">Blocking FTP subresource loads within non-FTP documents in Firefox 61 | Mozilla Security Blog</cite>
(<time>2018-09-26 00:59:33 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://blog.mozilla.org/security/2018/05/07/blocking-ftp-subresource-loads-within-non-ftp-documents-in-firefox-61/">https://blog.mozilla.org/security/2018/05/07/blocking-ftp-subresource-loads-within-non-ftp-documents-in-firefox-61/</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> <cite xml:lang="en">No longer render resources requested via FTP</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mikewest</anchor>著, <time>2018-12-13 23:59:41 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/commit/c6b3a750f811cb4f628def0313ac317d9dcec88a">https://github.com/whatwg/fetch/commit/c6b3a750f811cb4f628def0313ac317d9dcec88a</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <cite xml:lang="en">Consider downloading rather than rendering resources delivered over FTP. · Issue #4178 · whatwg/html</cite>
(<time>2019-05-31 18:31:07 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/4178">https://github.com/whatwg/html/issues/4178</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> <cite xml:lang="en">Treat resources requested via FTP as binary data. by mikewest · Pull Request #839 · whatwg/fetch</cite>
(<time>2019-05-31 18:32:06 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/fetch/pull/839">https://github.com/whatwg/fetch/pull/839</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> <cite xml:lang="en">Deprecate FTP support - Chrome Platform Status</cite>
(<time>2019-08-21 13:55:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://chromestatus.com/feature/6246151319715840">https://chromestatus.com/feature/6246151319715840</anchor-external></p></section></body></html>