Видео и субтитры · Загрузчик медиафайлов по прямой ссылке
Из FTP и wget в атрибут загрузки: история сохранения файлов
· Фон
веб-история загрузки браузер
Сохранение файла из Интернета изменилось с сеансов FTP и инструментов командной строки на один браузер API. Этот пост прослеживает эту историю и показывает, какое место в ней занимает загрузчик с прямыми ссылками только для браузера.
Раньше загрузка была событием — эра коммутируемых кнопок возобновления и ночных переводов
Медленные соединения сделали сохранение файла запланированным событием: пользователи следили за прошедшим временем, охраняли телефонную линию и ценили инструменты, которые могли продолжить работу после прерывания.
Эти ограничения сформировали ожидания в отношении очередей, возобновления работы и видимого прогресса. Современные интерфейсы стали проще, но функции надежности не стали лишними только потому, что кнопка стала меньше. Неудачная передача в одночасье также имела заметные альтернативные издержки, поощряя инструменты для предоставления информации о продолжении и целостности, а не только окончательного сообщения об успехе. Неудача также влекла за собой видимые альтернативные издержки, поощряя контроль над резюме и проверку целостности, а не одно-единственное оптимистическое сообщение о завершении.
FTP и ранняя передача файлов: явные удаленные сеансы и отдельные ресурсы
FTP предшествует веб-страницам и представляет собой явные удаленные операции с файлами через специальный протокол. Его режимы сеанса и передачи существенно отличаются от режима HTTPS Fetch, поэтому «один файл на соединение» — это слишком обширно для истории.
Полезным контрастом является намерение пользователя: выбрать удаленный ресурс и скопировать байты. ToolAcre полностью отказывается от FTP, поскольку его валидатор принимает только зашифрованные адреса HTTPS. FTP может использовать отдельные соединения для управления и передачи данных, а также несколько режимов передачи, поэтому упрощенные аналогии эпохи Интернета не должны заменять историю, специфичную для протокола. FTP может использовать отдельные соединения для управления и передачи данных, а также несколько режимов передачи, поэтому сводки веб-эры не должны сглаживать историю его протоколов.
wget, curl и командная строка — загрузка по сценарию, повторные попытки и привычки, сформировавшие современные инструменты
Клиенты командной строки, такие как wget и curl, сделали передачу скриптовой и наблюдаемой. Перенаправления, заголовки, выходные имена, политики повтора, аутентификация, диапазоны и статусы выхода стали составными опциями.
Эти полномочия по-прежнему подходят для администраторов, занимающихся авторизованной автоматизацией. Страница браузера имеет меньшую поверхность разрешений и не должна имитировать учетные данные, переопределения TLS или повторные попытки изменения личности. Скрипты также допускают повторение скрытых ошибок, поэтому статус выхода, проверенные пункты назначения и консервативная обработка учетных данных остаются важными. Автоматизация также сделала ошибки повторяемыми, сохраняя необходимость проверки пункта назначения, обработки статуса выхода и консервативных методов учетных данных. Зарегистрированные команды также создают доказательства аудита, когда они позволяют избежать утечки токенов в общую историю оболочки.
Менеджеры загрузок и браузер «Сохранить как» — эпоха сегментированных загрузок, возобновления и панели загрузок
В менеджеры загрузок добавлены очереди, сегментированная передача, планирование и возобновление; браузеры интегрировали полку для загрузки и встроенное поведение «Сохранить как». Эти инструменты могут писать постепенно, без предварительного создания одного BLOB-объекта приложения.
Direct Media Downloader не конкурирует по этим функциям. Он предлагает явную политику URL, объявление хоста, объяснение CORS, прогресс, отмену и локальное сохранение в браузере для ограниченного одного ответа. Для видимой разрешенной ссылки сохранение в собственном браузере по-прежнему является наиболее прямым выбором и позволяет избежать ограничений CORS этого приложения и памяти Blob. Для видимой авторизованной ссылки сохранение в браузере остается проще и позволяет избежать CORS на уровне сценария и накопления BLOB-объектов.
Атрибут загрузки HTML5 и большие двоичные объекты — как сам браузер получил возможность сохранять сгенерированный или полученный файл.
Атрибут загрузки HTML позволяет привязке предлагать сохранение, а не навигацию, а URL-адреса объектов позволяют сценариям временно обращаться к сгенерированным данным Blob. Вместе они позволяют странице предлагать байты, которые она создала или извлекла.
ToolAcre получает фрагменты, создает Blob, а затем вызывает свою общую утилиту загрузки с выбранным именем файла. Поведение браузера по-прежнему контролирует диалог, папку, дубликаты и завершение. Объект URL должен быть отозван утилитой сохранения после использования, чтобы временная ссылка не пережила свое назначение в документе. Временный объект URL следует отозвать после использования, чтобы его ссылка на область документа не оставалась доступной на неопределенный срок.
Где подходит этот инструмент только для браузера: один GET, потоковые фрагменты, один Blob, одно сохранение.
Эта реализация выполняет один GET для загрузки, хотя необязательный более ранний HEAD может проверять заголовки. Он передает информацию о ходе выполнения и отмене, но сохраняет фрагменты до тех пор, пока не будет собран один Blob, с ограничением по умолчанию 2 GiB.
Никакой сервер не стоит между источником и браузером. Такая конструкция сохраняет прямой путь, принимая CORS и затраты памяти, которые собственные механизмы загрузки или механизмы загрузки из командной строки могут обрабатывать по-разному. Отмена удаляет частичные данные, и интерфейс не предлагает второго задания в очереди; оба факта отличают его от полноценного трансферного менеджера. Отмена удаляет частичные данные, и очередь не запускает другое задание, что отличает это целенаправленное взаимодействие от менеджера передачи.
Вывод: проще, чем когда-либо — как Direct Media Downloader использует собственные API браузера для выполнения некогда сложной работы
Экономию легче инициировать, чем в предыдущие эпохи, и она не решена повсеместно. Direct Media Downloader представляет собой одну точку в большом наборе инструментов браузера, сохраняя ее границы видимыми.
Используйте его для разрешенного прямого файла HTTPS, если его хост разрешает чтение из разных источников. Выберите собственную ссылку «Сохранить как», авторизованный клиент передачи или официальное средство источника, если размер, резюме, аутентификация или политика требуют другого пути. Современное удобство ценно именно тогда, когда понимаются его ограничения, позволяя пользователям выбирать более функциональный авторизованный механизм, не злоупотребляя им. Современное удобство наиболее полезно, когда пользователи могут перейти к авторизованному специализированному методу, не делая вид, что этот путь браузера включает в себя его функции.