#Что означает проблема и как её распознать
HTTP 416 Range Not Satisfiable часто появляется, когда менеджер загрузок пытается докачать файл с позиции, которой уже нет в текущем файле: источник изменился или локальная частичная загрузка повреждена.
#Основные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Файл на сервере изменилсяРазмер или ETag новой версии отличается от начатой загрузки. | Первая часть старого файла есть, но Range выходит за пределы новой длины. | Начать новую загрузку, сохранив старую часть до проверки. |
| Клиент посылает неверный RangeСмещение больше длины ресурса либо синтаксис диапазона неверный. | Сервер возвращает 416 и Content-Range вида bytes */число. | Исправить запрос или настройки менеджера загрузок. |
| Промежуточное хранилище отдаёт разные версииCDN-зеркало или прокси обслуживают не одинаковые файлы. | Повторная загрузка иногда удаётся с того же URL. | Сообщить владельцу адреса и идентификаторы версий. |
#Пошаговая диагностика и устранение
- Сохраните имеющуюся частичную загрузкуЕсли файл нужен для работы, откройте «Загрузки» браузера (Ctrl+J) и зафиксируйте название и исходный адрес. Не удаляйте файл с расширением .crdownload или .part, пока не решите, нужны ли уже скачанные данные. Если источник неизвестен, не открывайте неполный файл и не скачивайте исполняемый файл из чужого зеркала.
- Проверьте, доступна ли загрузка с самого началаОткройте официальный адрес скачивания на сайте производителя и нажмите «Скачать» заново, выбрав отдельную папку и другое имя файла, чтобы не затереть старую часть. Если новая загрузка завершается, причина, вероятно, была в невозможности продолжить прежнюю. Если и новая выдаёт 416, запишите время, ссылку и обратитесь к владельцу ресурса.
- Диагностика заголовков для умеющего пользоваться инструментамиВ Chrome нажмите F12 → Network → Preserve log, повторите только безопасную загрузку, откройте запрос файла. Найдите Request Headers → Range и Response Headers → Content-Range. Строка Content-Range: bytes */N в ответе 416 показывает общую длину актуального представления N, если сервер её знает; это не число уже скачанных байт. Если заголовков нет, не делайте вывод по одному коду: приложение могло скрыть сетевую операцию.
- Проверьте условие продолженияЕсли используется менеджер загрузок, откройте его свойства задачи и сравните адрес, общий размер, ETag/Last-Modified из журнала (если доступны). Когда размер или версия изменились, отключите именно режим «Продолжить» и создайте новую задачу, не объединяя куски двух версий. Если сервис поддерживает контрольную сумму SHA-256, сравните её с официально опубликованной после полной загрузки.
- Когда проблема на стороне сайтаАдминистратор должен проверить поддержку Range, корректность Content-Length и согласованность версий на CDN; в пределах одного URL нельзя выдавать разные содержимые под одной и той же сильной ETag. Исправления выполните сначала в тестовом окружении, не удаляя исходные файлы. Пользователь может передать владельцу URL, момент запроса и обезличенные Range/Content-Range; не требуется отключать антивирус или защиту HTTPS.
#Как проверить результат и что делать, если не помогло
Новый файл загружается с нулевой позиции целиком и открывается; его размер и контрольная сумма (если она опубликована) соответствуют источнику. При повторном 416 даже на новом скачивании сообщите администратору сервера дату и заголовки.