o catch up fetch.1 rev. 1.33.2.1.
This commit is contained in:
parent
f516af4dd2
commit
f9b10a2ab7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=7646
1 changed files with 137 additions and 346 deletions
|
@ -1,58 +1,71 @@
|
|||
.\" %FreeBSD: src/usr.bin/fetch/fetch.1,v 1.33 2000/03/01 12:19:38 sheldonh Exp %
|
||||
.\"-
|
||||
.\" Copyright (c) 2000 Dag-Erling Co<43>an Smgrav
|
||||
.\" All rights reserved.
|
||||
.\" Portions Copyright (c) 1999 Massachusetts Institute of Technology; used
|
||||
.\" by permission.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer
|
||||
.\" in this position and unchanged.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. The name of the author may not be used to endorse or promote products
|
||||
.\" derived from this software without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %FreeBSD: src/usr.bin/fetch/fetch.1,v 1.33.2.1 2000/07/16 01:16:46 des Exp %
|
||||
.\"
|
||||
.\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab %
|
||||
.Dd June 28, 2000
|
||||
.Dd February 22, 1999
|
||||
.Dt FETCH 1
|
||||
.Os FreeBSD 4.0
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm fetch
|
||||
.Nd URL(Uniform Resource Locator)形式でのファイルの取得
|
||||
.Nd URL (Uniform Resource Locator) 形式でのファイルの取得
|
||||
.Sh 書式
|
||||
.Nm fetch
|
||||
.Op Fl AFMPablmnpqrtv
|
||||
.Op Fl S Ar size
|
||||
.Op Fl T Ar timeout
|
||||
.Op Fl o Ar file
|
||||
.Ar URL
|
||||
.Op Ar ...
|
||||
.Nm fetch
|
||||
.Op Fl FMPRlmnpqrv
|
||||
.Op Fl S Ar size
|
||||
.Nm
|
||||
.Op Fl 146AFHMPRadlmnpqrsv
|
||||
.Op Fl B Ar bytes
|
||||
.Op Fl S Ar bytes
|
||||
.Op Fl T Ar seconds
|
||||
.Op Fl o Ar file
|
||||
.Op Fl w Ar seconds
|
||||
.Op Fl h Ar host
|
||||
.Op Fl c Ar dir
|
||||
.Fl f Ar file
|
||||
.Fl h Ar host
|
||||
.Op Fl f Ar file
|
||||
.Op Ar URL ...
|
||||
.Sh 解説
|
||||
.Nm fetch
|
||||
は、
|
||||
.Tn FTP
|
||||
もしくは
|
||||
.Tn HTTP
|
||||
プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を
|
||||
行います。コマンドの最初の書式の
|
||||
.Ar URL
|
||||
は、
|
||||
.Li http://site.domain/path/to/the/file
|
||||
もしくは、
|
||||
.Li ftp://site.domain/path/to/the/file
|
||||
の形式をしています。
|
||||
複製もしくはリンクされる (以下の
|
||||
.Fl l
|
||||
フラグを参照) ローカルでのファイル名を指定するために、
|
||||
.Em file:/path/to/the/file
|
||||
という URL 形式が使えます。後述の URL 文法を参照してください。
|
||||
.Pp
|
||||
コマンドの 2 番目の形式は、
|
||||
ファイル名と遠隔ホスト名を
|
||||
.Fl h
|
||||
と
|
||||
.Fl f
|
||||
フラグで指定して、
|
||||
.Tn FTP
|
||||
プロトコルを使ってファイルを取得するために使われます。
|
||||
.Nm
|
||||
は
|
||||
.Xr fetch 3
|
||||
ライブラリへのコマンド行インタフェースを提供します。
|
||||
目的は、コマンド行の URL (複数可) に示されるファイル (複数可)
|
||||
を取得することです。
|
||||
.Pp
|
||||
以下のオプションが使用可能です。
|
||||
.Bl -tag -width Fl
|
||||
.It Fl \&1
|
||||
最初にファイルの取得に成功したときに、終了値 0 を返して停止します。
|
||||
.It Fl 4
|
||||
.Nm
|
||||
が IPv4 アドレスのみを使用することを強制します。
|
||||
.It Fl 6
|
||||
が IPv6 アドレスのみを使用することを強制します。
|
||||
.It Fl A
|
||||
``一時的な'' (302) リダイレクトを自動的には追跡しません。
|
||||
要求したオブジェクトが存在しない場合に、
|
||||
|
@ -60,43 +73,49 @@
|
|||
壊れたウェブサイトが存在します。
|
||||
.It Fl a
|
||||
ソフト上での失敗の場合に自動的に転送を再試行します。
|
||||
.It Fl b
|
||||
.Tn TCP
|
||||
プロトコルを正しく実装していない
|
||||
.Tn HTTP
|
||||
サーバのバグ対応を行います。
|
||||
.It Fl B Ar bytes
|
||||
読み込みバッファの大きさをバイト単位で指定します。
|
||||
デフォルトは 4096 バイトです。
|
||||
バッファの大きさを小さくしようとしても、黙って無視されます。
|
||||
実際に実行された読み込み回数は、冗長レベル 2 以上で報告されます (
|
||||
.Fl v
|
||||
フラグを参照してください)。
|
||||
.It Fl c Ar dir
|
||||
遠隔ホストの
|
||||
.Ar dir
|
||||
ディレクトリのファイルを取得します。
|
||||
本オプションは、価値が低下しており、後方互換性のためだけに提供されています。
|
||||
.It Fl d
|
||||
プロキシが設定されていても、直接接続します。
|
||||
.It Fl F
|
||||
ローカルファイルとリモートファイルの時刻確認を行わずに、
|
||||
強制的に再開させます。
|
||||
ローカルファイルの修正時刻が更新されたものの
|
||||
リモートファイルが同一のままであることを確信している場合に、
|
||||
.Fl r
|
||||
と共に使用して、特定ファイルの転送を再開してください。
|
||||
これによって、最初から転送し直すことを防げます。
|
||||
フラグと組み合わせると、
|
||||
ローカルファイルとリモートファイルの修正時刻が異なったとしても、
|
||||
強制的に再開します。
|
||||
.It Fl f Ar file
|
||||
遠隔ホストの
|
||||
.Ar file
|
||||
という名前のファイルを取得します
|
||||
本オプションは、価値が低下しており、後方互換性のためだけに提供されています。
|
||||
.It Fl H
|
||||
パッシブな FTP を使用しているとき、データ接続用に高位ポートを割り当てます。
|
||||
どのポート範囲が対応するかの指定方法の詳細については、
|
||||
.Xr ip 4
|
||||
を参照してください。
|
||||
.It Fl h Ar host
|
||||
ホスト名が
|
||||
.Ar host
|
||||
にあるファイルを取得します。
|
||||
本オプションは、価値が低下しており、後方互換性のためだけに提供されています。
|
||||
.It Fl l
|
||||
目標が
|
||||
.Ar file:/
|
||||
形式のURLだった場合、目標を複製しようとするのではなく、
|
||||
目標が、ファイル形式の URL の場合、目標を複製しようとするのではなく、
|
||||
リンクを作成します。
|
||||
.It Fl M
|
||||
.It Fl m
|
||||
ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに
|
||||
設定します。ローカルホストにファイルが既に存在しサイズと
|
||||
変更時間が同じである場合、転送は行われません。
|
||||
ミラーモード: ローカルホストにファイルが既に存在し、サイズと
|
||||
変更時間がリモートファイル同じである場合、転送は行われません。
|
||||
.It Fl n
|
||||
転送されるファイルの変更時間を保存せず、現在の時間を使います。
|
||||
転送されるファイルの変更時間を保存しません。
|
||||
.It Fl o Ar file
|
||||
出力ファイル名を
|
||||
.Ar file
|
||||
|
@ -110,269 +129,81 @@
|
|||
.It Fl P
|
||||
.It Fl p
|
||||
.Tn FTP
|
||||
プロトコルをパッシブモードで使います。これは、防火壁 (firewall)
|
||||
を跨いだ場合に有効です。
|
||||
プロトコルをパッシブモードで使います。
|
||||
これは、入力接続をブロックする防火壁 (firewall) の背後にいる場合に有用です。
|
||||
FTP URL を取得するときに
|
||||
.Nm
|
||||
がハングするように見える場合に使用してみてください。
|
||||
.It Fl q
|
||||
沈黙モード。端末に転送の進行状態を報告しません。
|
||||
沈黙モード。
|
||||
冗長レベルを 0 に設定することで動作します。
|
||||
.Fl v
|
||||
オプションを参照してください。
|
||||
.It Fl R
|
||||
転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は
|
||||
``大事にされ''、どんな状況下でもファイル名は消去されません.
|
||||
与えられたファイル名は大事にされ、どんな状況下でもファイル名は消去されません。
|
||||
それは、転送が失敗もしくは不完全であった時でさえさえ、あてはまります。
|
||||
.It Fl r
|
||||
以前に中断された転送を再開します。
|
||||
.It Fl S Ar bytes
|
||||
.Tn FTP
|
||||
もしくは
|
||||
.Tn HTTP
|
||||
のサーバに対してファイルサイズを報告するよう要求し、
|
||||
本オプションにより指定される値と比較します。
|
||||
サーバが報告するファイルサイズが、指定値に合致することを要求します。
|
||||
合致しない場合、メッセージが表示され、ファイルは取得されません。
|
||||
サーバがファイルサイズの報告をサポートしない場合、
|
||||
本オプションは無視され、ともかくファイルは取得されます。
|
||||
前もってファイルサイズが分かる場合、
|
||||
不完全なファイルもしくは誤ったバージョンのファイルを
|
||||
.Nm
|
||||
がダウンロードするのを防ぐために有用です。
|
||||
サーバがファイルサイズの報告をサポートしていない場合、
|
||||
本オプションは無視され、無条件にファイルが取得されます。
|
||||
.It Fl s
|
||||
サーバにファイルサイズ (バイト) を尋ね、これを標準出力に出力します。
|
||||
実際のファイル取得は行いません。
|
||||
各要求ファイルごとに、取得せずに、バイト数単位の大きさを表示します。
|
||||
.It Fl T Ar second
|
||||
タイムアウト時間を
|
||||
.Ar second
|
||||
秒に設定します。
|
||||
ftp での転送に対しては
|
||||
FTP での転送に対しては
|
||||
.Ev FTP_TIMEOUT
|
||||
環境変数が、 http での転送に関しては
|
||||
環境変数が、HTTP での転送に関しては
|
||||
.Ev HTTP_TIMEOUT
|
||||
環境変数が,設定されていた場合は、それを上書きします。
|
||||
環境変数が、設定されていた場合は、それを上書きします。
|
||||
.It Fl t
|
||||
別のバグがある
|
||||
.Tn TCP
|
||||
実装に対する対処を行います。
|
||||
.It Fl v
|
||||
冗長性を増加させます。
|
||||
複数の
|
||||
.Fl v
|
||||
を指定することで、より情報が得られるようになります。
|
||||
本フラグの各インスタンスは、冗長レベルを 1 増加させます。
|
||||
レベル 1 (デフォルト) は、各ファイルの後にサマリを表示するだけです。
|
||||
レベル 2 は、標準出力が端末の場合には、転送中にカウントを表示します。
|
||||
レベル 3 は、
|
||||
.Xr fetch 3
|
||||
ライブラリからのメッセージを有効にします。
|
||||
.It Fl w Ar seconds
|
||||
.Fl a
|
||||
が指定された場合、次のリトライの前に指定した秒数だけ待ちます。
|
||||
.El
|
||||
.Pp
|
||||
多くのオプションは、環境によってのみ制御されます
|
||||
(これはバグです)。
|
||||
.Sh URL 文法
|
||||
.Sh 診断
|
||||
.Nm
|
||||
は、RFC1738 に記述されている
|
||||
.Tn http
|
||||
および
|
||||
.Tn ftp
|
||||
の URL を受け付けます。
|
||||
.Tn ftp
|
||||
の URL ではユーザ名とパスワードを指定可能であり、
|
||||
.Li ftp://user:password@host/
|
||||
という文法で指定します。
|
||||
パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、
|
||||
パスを %2F で開始する必要があり、
|
||||
.Li ftp://root:mypass@localhost/%2Fetc/passwd
|
||||
のように指定します。
|
||||
コマンドは、成功時には 0 を返し、失敗時には 1 を返します。
|
||||
コマンド行上に複数の URL を指定した場合、
|
||||
.Nm
|
||||
は、
|
||||
.Tn ftp
|
||||
URL の複数のスラッシュを圧縮して単一のスラッシュにします。
|
||||
リテラルで複数のスラッシュが存在すると、
|
||||
.Tn ftp
|
||||
プロトコルエラーとなります。
|
||||
.Sh プロキシサーバ
|
||||
防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して
|
||||
通信を行なうためにアプリケーションゲートウェイ (``プロキシサーバ'')
|
||||
を利用します。
|
||||
.Nm
|
||||
プログラムは、プロキシサーバを使った
|
||||
.Tn FTP
|
||||
と
|
||||
.Tn HTTP
|
||||
プロトコルの両方を利用可能です。
|
||||
.Tn FTP
|
||||
プロキシサーバは
|
||||
.Tn FTP
|
||||
の要求だけを取り次ぎ、
|
||||
.Tn HTTP
|
||||
プロキシサーバは
|
||||
.Tn FTP
|
||||
と
|
||||
.Tn HTTP
|
||||
の両方の要求を取り次ぎます。
|
||||
プロキシサーバは、環境変数
|
||||
.Dq Va PROTO Ns Ev _PROXY
|
||||
を定義することで設定されます。
|
||||
ここで、
|
||||
.Va PROTO
|
||||
はプロトコルの名前で、英大文字で記述します。
|
||||
環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を
|
||||
指定します。
|
||||
.Pp
|
||||
.Tn FTP
|
||||
プロキシクライアントは、
|
||||
.Do Va remoteuser Ns Li \&@ Ns Va remotehost
|
||||
.Op Li \&@ Ns Va port
|
||||
.Dc
|
||||
という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。
|
||||
.Tn HTTP
|
||||
プロキシクライアントは、
|
||||
.Tn HTTP
|
||||
.Dq Li GET
|
||||
要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。
|
||||
HTTP プロキシによる認証は、いまはまだ実装されていません。
|
||||
.Sh HTTP による認証
|
||||
.Tn HTTP
|
||||
プロトコルは、さまざまな種類の認証方法の提供を含んでいます。
|
||||
現在、
|
||||
.Nm fetch
|
||||
がサポートしている方式は
|
||||
.Dq basic
|
||||
方式だけです。
|
||||
この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを
|
||||
提供しません。
|
||||
認証は、
|
||||
.Ev HTTP_AUTH
|
||||
と
|
||||
.Ev HTTP_PROXY_AUTH
|
||||
環境変数を設定することで可能となります。
|
||||
両環境変数は、次のような同じ形式をしています。
|
||||
空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで
|
||||
分けられたパラメータのリストからなります。最初の二つのパラメータはいつも
|
||||
(大文字でも小文字でも構わない) 認証方法名と認証が行われる範囲です。
|
||||
認証範囲が
|
||||
.Sq Li \&*
|
||||
の形式で指定されている時、他に指定されていない全ての範囲とみなされます。
|
||||
.Pp
|
||||
.Li basic
|
||||
認証方式は、二つのオプションのパラメータを利用します。
|
||||
一つ目はユーザ名で、2 番目はそれに付けられたパスワードです。
|
||||
環境でパスワードもしくは両方のパラメータが指定されていなく、
|
||||
.Nm
|
||||
の標準入力が端末である時には、
|
||||
.Nm
|
||||
は欠けているパラメータの入力をユーザにうながします。
|
||||
したがって、ユーザが
|
||||
.Dq Li jane
|
||||
で
|
||||
.Dq Li WallyWorld
|
||||
範囲の認証で、パスワードが
|
||||
.Dq Li QghiLx79
|
||||
であるなら、彼女は
|
||||
.Ev HTTP_AUTH
|
||||
環境変数を以下のように設定します。
|
||||
.Bl -enum -offset indent
|
||||
.It
|
||||
.Dq Li basic:WallyWorld:jane:QghiLx79
|
||||
.It
|
||||
.Dq Li basic:WallyWorld:jane
|
||||
.It
|
||||
.Dq Li basic:WallyWorld
|
||||
.El
|
||||
.Pp
|
||||
.Nm
|
||||
は欠けている情報が必要な場合は、尋ねてきます。
|
||||
彼女は、認証範囲を
|
||||
.Dq Li WallyWorld
|
||||
と指定する代わりに、
|
||||
.Dq Li \&*
|
||||
と指定することで、どんな範囲でも認証を行うことを示せます。
|
||||
これは、
|
||||
.Dq Li basic:*
|
||||
の様なもっとも一般的に使われる設定です。
|
||||
この設定は、
|
||||
.Nm
|
||||
にどんな認証範囲であっても
|
||||
.Li basic
|
||||
認証を行わせることを指示します。
|
||||
.Sh エラー
|
||||
.Nm
|
||||
は成功した時は 0 を返します。
|
||||
また、失敗した場合には、
|
||||
.Aq Pa sysexits.h
|
||||
で定義される 0 でない値が返されます。
|
||||
複数の URI が再試行のために与えられた時、
|
||||
.Nm
|
||||
は全てを試して、全て成功した場合だけ 0 を返します
|
||||
(それ以外の場合は、最後の失敗のエラーを返します)。
|
||||
は、それぞれを順番に取得しようとし、
|
||||
すべての取得に成功した場合のみに 0 を返します。
|
||||
.Sh 環境変数
|
||||
.Bl -tag -width FTP_PASSIVE_MODE -offset indent
|
||||
.It Ev FTP_TIMEOUT
|
||||
.Tn FTP
|
||||
接続を中断するまでの最大時間を秒で指定します。
|
||||
.It Ev FTP_LOGIN
|
||||
.Tn FTP
|
||||
転送で使われるログイン名です。
|
||||
デフォルトは ``anonymous'' が使われます。
|
||||
.It Ev FTP_PASSIVE_MODE
|
||||
パッシブモードで FTP を行います。
|
||||
.It Ev FTP_PASSWORD
|
||||
.Tn FTP
|
||||
転送で使われるパスワードです。
|
||||
デフォルトは
|
||||
.Dq Va yourname Ns Li \&@ Ns Va yourhost
|
||||
です。
|
||||
.It Ev FTP_PROXY
|
||||
.Tn FTP
|
||||
を理解するプロキシサーバのアドレスを
|
||||
.Do Va hostname Ns
|
||||
.Op Li : Ns Va port
|
||||
.Dc
|
||||
の形式で与えます。
|
||||
.It Ev HTTP_AUTH
|
||||
.Tn HTTP
|
||||
認証パラメータを定義します。
|
||||
.It Ev HTTP_PROXY
|
||||
.Tn HTTP
|
||||
を理解するプロキシサーバのアドレスを
|
||||
.Do Va hostname Ns
|
||||
.Op Li : Ns Va port
|
||||
.Dc
|
||||
の形式で与えます。
|
||||
.It Ev HTTP_PROXY_AUTH
|
||||
.Tn HTTP
|
||||
プロキシサーバのための認証パラメータを定義します。
|
||||
.It Ev HTTP_TIMEOUT
|
||||
.Tn HTTP
|
||||
接続を中断するまでの最大時間を秒で指定します。
|
||||
.El
|
||||
.Pp
|
||||
.Xr fetch 3
|
||||
ライブラリの文書に記述されている環境変数は、すべてサポートされています。
|
||||
.Sh 関連項目
|
||||
.Xr ftp 1 ,
|
||||
.Xr tftp 1
|
||||
.Rs
|
||||
.%A R. Fielding
|
||||
.%A J. Gettys
|
||||
.%A J. Mogul
|
||||
.%A H. Frystyk
|
||||
.%A T. Berners-Lee
|
||||
.%T "Hypertext Transfer Protocol \-\- HTTP/1.1"
|
||||
.%O RFC 2068
|
||||
.%D January 1997
|
||||
.Re
|
||||
.Rs
|
||||
.%A T. Berners-Lee
|
||||
.%A L. Masinter
|
||||
.%A M. McCahill
|
||||
.%T "Uniform Resource Locators (URL)"
|
||||
.%O RFC 1738
|
||||
.%D December 1994
|
||||
.Re
|
||||
.Rs
|
||||
.%A J. Postel
|
||||
.%A J.K. Reynolds
|
||||
.%T "File Transfer Protocol"
|
||||
.%O RFC 959 / STD 9
|
||||
.%D October 1985
|
||||
.Re
|
||||
.Rs
|
||||
.%A M.R. Horton
|
||||
.%T "Standard for interchange of USENET messages."
|
||||
.%O RFC 850
|
||||
.%D June 1983
|
||||
.Re
|
||||
.Xr fetch 3
|
||||
.Sh 歴史
|
||||
.Nm fetch
|
||||
.Nm
|
||||
コマンドは
|
||||
.Fx 2.1.5
|
||||
から導入されました。
|
||||
本実装が最初に登場したのは
|
||||
.Fx 4.1
|
||||
です。
|
||||
.Sh 作者
|
||||
.Nm
|
||||
のオリジナル実装は
|
||||
|
@ -381,62 +212,22 @@ HTTP
|
|||
.Fx 2.2
|
||||
のために、拡張を行ったのは
|
||||
.An Garrett Wollman
|
||||
です。
|
||||
.Sh バグ
|
||||
たくさんの環境変数とコマンドラインオプションがあります。
|
||||
.Pp
|
||||
.Fl a
|
||||
オプションは、ある種類の
|
||||
.Tn HTTP
|
||||
の接続失敗のために実装されており、
|
||||
.Tn FTP
|
||||
の接続失敗のためではありません。
|
||||
.Pp
|
||||
.Tn HTTP
|
||||
のために、
|
||||
.Dq basic
|
||||
認証モードだけが実装されています。
|
||||
これは、ダイジェスト認証に置き換えられるべきものです。
|
||||
.Pp
|
||||
(
|
||||
.Tn FreeBSD
|
||||
以外の) 実装には、データが含まれるパケットに
|
||||
.Dv SYN
|
||||
や
|
||||
.Dv FIN
|
||||
の制御フラグが含まれている状況を正しく実装していないものがあります。
|
||||
.Sq Fl t
|
||||
フラグは後者に対する対処を行い、
|
||||
.Sq Fl b
|
||||
フラグは前者に対する対処を行います。
|
||||
これらはサーバの
|
||||
.Tn TCP
|
||||
スタックのエラーですから、我々ができる最良の解はこれらの対処です。
|
||||
正しいサーバとの通信の場合には、
|
||||
.Fl t
|
||||
および
|
||||
であり、後に
|
||||
.Xr fetch 3
|
||||
を使用するように
|
||||
.ie t .An Dag-Erling Sm\(/ograv
|
||||
.el .An Dag-Erling Smograv
|
||||
が完全に書き直しました。
|
||||
.Sh 注
|
||||
The
|
||||
.Fl b
|
||||
を含まない最良の
|
||||
.Tn HTTP
|
||||
転送が実現されます。
|
||||
(少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、
|
||||
他の実装よりも 1 回少なくなります。
|
||||
および
|
||||
.Fl t
|
||||
のオプションは、すでにサポートされておらず、警告を表示します。
|
||||
これらのオプションは、他の OS のバグの回避策であって、
|
||||
本実装ではバグを引き起こしません。
|
||||
.Pp
|
||||
.Tn HTTP
|
||||
標準は、
|
||||
.Tn RFC 850
|
||||
の日付書式解釈を要求しますが、この書式は世紀情報を提供しません。
|
||||
.Fx 3.1
|
||||
以前のバージョンの
|
||||
.Nm fetch
|
||||
は、そのような日付を 1900 年代と解釈します。
|
||||
このバージョンの
|
||||
.Nm fetch
|
||||
は、そのような日付を
|
||||
.Tn RFC 2068
|
||||
にある次の規則に従って解釈します:
|
||||
.Bd -literal -offset indent
|
||||
o HTTP/1.1 クライアントおよびキャッシュは、50 年より先の未来の
|
||||
RFC-850 形式の日付を、実際は過去の日付であると解釈すべきです
|
||||
(これが「2000 年問題」解決の助けになります)。
|
||||
.Ed
|
||||
.Fl h ,
|
||||
.Fl c ,
|
||||
.Fl f
|
||||
オプションの使用と、コマンド行上の URL 指定は、同時にはできません。
|
||||
|
|
Loading…
Reference in a new issue