Технически чем отличается способ размещения (на сервере)
Сервер должен поддерживать возможность обслуживания частичного контента и обработки частичных запросов. Большинство современных веб-серверов могут справиться с этим, если вы не используете что-то, что вы создали сами.
Вы можете получить больше информации, прочитав это Apache документ и соответствующие RFC. Из документа по ссылке - пример ответа.
HTTP/1.1 206 Partial Content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
--THIS_STRING_SEPARATES
Content-type: application/pdf
Content-range: bytes 500-999/8000
...the first range...
--THIS_STRING_SEPARATES
Content-type: application/pdf
Content-range: bytes 7000-7999/8000
...the second range
--THIS_STRING_SEPARATES--
Распространенным является отсутствие content-size
или content-range
заголовок. Возможно, автор забыл установить его в своем сценарии загрузки?
Загрузка может быть возобновлена, если HTTP-сервер поддерживает запросы на получение диапазона, как определено в Разделе 14.35. RFC 2616, который Википедия называет "байтовое обслуживание"по какой-то странной причине.
Accept-Ranges: bytes
в ответ на HEAD
или GET
запрос, чтобы указать, что он поддерживает обслуживание байтов.GET
запрос в том числе Range: bytes=aaa-bbb
, где начальное смещение aaa
байтов после начала файла, а длина диапазона равна bbb - aaa + 1
байтов.Content-range: bytes aaa-bbb/cccc
, где aaa-bbb
как раньше и cccc
это либо длина файла в байтах, либо *
если сервер не может определить его, следует тело ответа, содержащее запрошенный диапазон байтов. Если диапазон выходит за границы, сервер вместо этого отправляет ответ с состоянием 416 (запрошенный диапазон неудовлетворителен).Некоторые видеоплееры используют запросы диапазона для поддержки поиска по видео. Медиа-контейнер Ogg использует интерполированный поиск пополам для поддержки этого варианта использования.
Популярное программное обеспечение веб-сервера может быть настроено для обслуживания диапазонов из статических файлов, но серверный скрипт, который аутентифицирует загрузку, может или не может потребовать обработки диапазонов самостоятельно. (См. Руководство по вашему языку сценариев.) Некоторые операторы серверов загрузки, открытых для публики, намеренно блокируют запросы диапазона, потому что несколько менеджеров загрузки использовали поддержку диапазонов контента, чтобы сделать более одного запроса к серверу, забирая ресурсы, которые можно было бы использовать для загрузки другим пользователям.