前: HTTP Time-Stamping Internals, 上: Time-Stamping


5.3 FTPタイムスタンプの内部

理論上,ftpタイムスタンプはhttpと同じように動作しますが, ftpにはヘッダがありません—タイムスタンプはディレクトリリストから 探し出す必要があります.

ftpダウンロードが,再帰的またはglobを使用している場合,ディレクト リが含んでいる要求されたファイルに対してファイルリストを取得するために, Wgetはftp LISTコマンドを使用します.それはリストの解析を試 み,それをUnixのls -lの出力のように扱い,タイムスタンプを抽出し ます.残りはhttpに対するものと全く同じです.ftpサーバから globや再帰を使用しないで個別のファイルを回収する時,`-N'を指定しな い限りリストアップされたファイルはダウンロードされません(そして,このた めファイルにタイムスタンプは付きません).

全てのディレクトリリストがUnix形式のリストだという仮定は,非常に不自然 に感じるかもしれませんが,経験的にはそうではなく,その理由は,ほとんど (全て?)のクライアントがそれを理解できるので,多くの非Unix ftpサー バでもUnixのようなリスト書式を使用しているためです.rfc959定義が, タイムスタンプは言うまでもなく,ファイルリストを取得する標準的な方法で はないことを覚えておいてください.我々は,将来の標準がこのように定義さ れることを期待することしかできません.

もう一つの非標準の解決方法は,(評判のよいwu-ftpdを含め)いくつか のftpサーバがサポートするMDTMコマンドの使用も含まれていて, それは指定したファイルの正確な時間を返します.Wgetは,将来このコマンド をサポートするかもしれません.