Когда мы загружаем файл с веб-сервера, он сначала сохраняется в памяти телефона, и в определенные моменты данные сбрасываются на SD-карту, чтобы не заполнить оперативную память.
Но когда происходит сбой соединения, пользователи переключают телефон в режим полета, покидают зону покрытия WLAN и т. Д. Обычно загрузка файла должна начинаться с самого начала.
Это и трата времени и денег для пользователя, и трата сетевых ресурсов и аккумулятора телефона.
Чтобы продолжить прерванную загрузку, мы планируем использовать HTTP-заголовки Range
.Каково правильное использование для этого?
Нужно ли нам вспоминать исходную длину файла из заголовка Content-Length
или мы должны вместо этого отправить HEAD
(что должно дать нам фактический размер файла ...) или нет необходимостисохранить исходный размер и отправить в следующем HTTP-запросе GET следующие заголовки и пропустить окончательный размер файла (ниже я предполагаю, что 555 байт уже было загружено):
Accept-Ranges:bytes
Range: 555-
Спасибо и привет,
Sten