
Как именно работают функции «Запустить/Загрузить» в Chrome/Firefox/Internet Explorer/Edge? (т. е. что именно происходит, когда я нажимаю «Запустить»? Когда я что-то загружаю, а затем останавливаю/ставлю на паузу?)
Я полагаю, что сначала они загружаются как временные данные, а затем преобразуются в правильные данные? Было бы здорово получить полное объяснение.
Есть ли какие-либо опции/конфигурации, позволяющие управлять им самостоятельно?
решение1
Это зависит от приложения и его реализации.
- Run обычно просто выполняет то, что было загружено, как если бы вы дважды щелкнули по нему. Приложение может сделать любое количество вещей, прежде чем разрешить это, чтобы убедиться, что это не вредоносный, действительный файл.
- Download/Stop/Pause использует механизмы по умолчанию поддерживаемых протоколов для выполнения необходимых действий. Для HTTP это обычно запрос
GET
. HTTP 1.1 поддерживает возобновление загрузок. Реализация этого зависит от сервера, доставляющего файл. В этом случае вы отправляете измененный запрос, сообщающий серверу о необходимости предоставить вам файл, начиная с позиции X. - Загрузки могут использовать временные файлы, но не обязательно. Это зависит от программы, а иногда и от размера загрузки. В большинстве случаев вы сможете настроить браузер так, чтобы он спрашивал, где сохранить файл. Это зависит от браузера, когда вы сможете определить, что временный файл должен быть сохранен в конечном месте назначения, в
%TEMP%
каком-то кэше или вообще.