Глюки Internet Explorer 6: FTP кэш
Коллега стал жаловаться, что периодически его файлы затираются старыми версиями. Само собой, подозрение падало на других коллег, сисадмина, восстанавливающего бекапы, неуловимых хакеров, Билла Гейтса и барабашку. И, как ни странно, он оказался прав...
Выяснилось, что в качестве FTP клиента он использовал Internet Explorer 6. А этот зверь с кешем работает по одному ему известному алгоритму. В данном случае он кеширует список файлов в папке и при попытке загрузить файл с именем, уже имеющимся в папке просто загружает его его заново. И в папке оказывается два (три, шесть) файлов с одинаковыми именами. Не верите? Я сначала тоже не поверил. Пока не увидел сам.
На самом деле, ИЕ файл конечно же перезаписывает, но список файлов в папке не обновляет, а просто добавляет к нему новый файл. Файлы имеют разный размер и разную дату создания, но одинаковые имена! При попытке скачать старый файл (которого на сервере физически уже нет - он перезаписан новой версией) будет закачана старая версия файла из кеша.
На локальном диске ИЕ услужливо добавит к его имени индекс - так что хоть здесь мы не попадем впросак.
Как вы понимаете, при таком подходе шанс скачать (и закачать на сервер!) старую версию файла очень высок - кто из нас отслеживает дату создания и размер файла? К тому же, уникальность имени файла - это (казалось бы) основа основ. И вот, фундаменты рухнули. Во что же теперь верить?
И вот что я по этому поводу думаю: каким бы серым и скучным был бы мир без Гейтса и его творений :)