Там файл, похоже, "подготавливается" кусками по 1мб, статус этого процесса вы и наблюдаете. Не знаю, где хранятся эти куски, но отдача файла браузеру происходит уже после полной подготовки, и "мгновенно копируется в виде файла в загрузки"
Сервер отдаёт файл сразу, время скачивания зависит от вашего соединения и отображается в самом браузере. Вряд ли получится получить инфу об этом процессе с помощью JS, имхо
web-quest3: можно, но это и есть валидация на сервере. Что бы не загружать [сервер], для начала стоит провести валидацию в клиенте, а затем уже отправлять данные.