Требуется ли iPhone/iPad Safari заголовок Accept-Ranges для видео?

У меня возникли проблемы с загрузкой видео с моего сервера dev, которые воспроизводятся в мобильном Safari. Мой Dev-сервер не поддерживает заголовок "Accept-Ranges", и после прочтения нескольких форумов, которые я обнаружил, это может быть моей проблемой. Вот пример размещения форума, говорящего именно об этом.

Это правильно? Требуется ли мобильному Safari заголовок Accept-Ranges? Может ли кто-нибудь указать мне на какую-либо документацию Apple, фактически заявив, что?

Спасибо.

Ответ 1

Я нашел документацию Apple, в которой говорится, что она действительно нужна для видео.

HTTP-серверы, содержащие медиа файлы для iOS, должны поддерживать байтовый диапазонзапросы, которые iOS использует для произвольного доступа в режиме воспроизведения мультимедиа. (Поддержка байтового диапазона также известна как диапазон содержания или частичный диапазон поддержка.) Большинство, но не все, серверы HTTP 1.1 уже поддерживают байтов.

Если вы не уверены, поддерживает ли ваш медиа-сервер байтовый диапазон запросов, вы можете открыть приложение терминала в OS X и использовать curl command-line tool для загрузки короткого сегмента из файла на Сервер:

curl --range 0-99 http://example.com/test.mov -o /dev/null

Если инструмент сообщает, что он загрузил 100 байт, медиа-сервер правильно обрабатывал запрос байтового диапазона. Если он загружает весь файл, вы возможно, потребуется обновить медиасервер.

Источник: Apple Documentation

Ответ 2

Ответ выше полезен, но на самом деле не отвечает на заданный вопрос.

В соответствии с HTTP RFC заголовок Accept-Ranges является дополнительным, даже если поддерживаются запросы байтового диапазона.

Тем не менее, документально подтвержденная проверка завивки подразумевает, что ответ нет: iOS не требует заголовка Accept-Ranges для видео, но требует поддержки байтового диапазона с частичным контентом (206) ответов.

Отказ от ответственности: я не проверял его на самом устройстве.