Next: , Previous: Time-Stamping Usage, Up: 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ヘッダを見て,そして大きさを比較します.同じ ではない場合,リモートファイルはタイムスタンプ告げることにかかわらず, ダウンロードされます.