Как узнать, что файл на сервере изменился без закачки самого файла?
Наиболее достоверный способ – при загрузке файла на удаленный сервер, прикладывать к нему хеш-сумму (или вычислять ее на сервере после загрузки автоматически). Тогда для проверки факта что файл изменился достаточно сверить хеш-суммы удаленного и локального файла.
3. Есть вариант качать n байт и сравнивать хеш с тем же количеством из локального файла.
А если изменение произошло после этих N байт?
Имхо самое надёжное - сверять дату и размер + в любом случае перекачивать файл раз в некоторое время. Ну а вообще лучше всего такую проверку делать на сервере, если к нему есть доступ.