次: , 前: Time-Stamping Usage, 上: Time-Stamping


5.2 HTTPタイムスタンプの内部

httpのタイムスタンプは,Last-Modifiedヘッダの調査により実行 されます.httpでファイルfoo.htmlを回収したい場合,Wgetは foo.htmlがローカルに存在しているかどうかを調べます.存在しない場 合,foo.htmlは無条件に回収されます.

ローカルにファイルがある場合,Wgetは最初にローカルのタイムスタンプを調 べ(ls -lでそれを調べることに似ています),そして,リモートファイ ルの情報を要求するため,HEAD要求をリモートサーバに送ります.

Last-Modifiedヘッダは,ファイルがより最近編集され(“新しく”され) たことを知るために調査されます.リモートファイルがより新しい場合,ダウ ンロードされます.古い場合,Wgetは諦めます.1

`-N'とともに`--backup-converted' (`-K')が指定されている とき,サーバファイル`X'は,それが現存している場合はローカル ファイルの`X.orig'と比較され,ローカルファイル `X'と比較されません—`--convert-links' (`-k')で変 換されている場合は常に異なっています.

おそらく,httpタイムスタンプはIf-Modified-Since要求を使用し て実装されるべきです.


脚注

[1] 追加の調査として, WgetはContent-Lengthヘッダを見て,そして大きさを比較します.同じ ではない場合,リモートファイルはタイムスタンプ告げることにかかわらず, ダウンロードされます.