Подтвердить что ты не робот

Почему html5 цикл видео создает запрос на каждую итерацию

У меня есть галочка Отключить кеш, и запрос по запросу выполняется на каждой итерации цикла видео (только на хроме).

Что означает Initiator: Other в разделе chrome inspector network? Первый раз видео загружается с хоста, но после этого все запросы загружаются из Other.

Каждый размер видеоизображения одинаковый, а не (из кеша). Это означает, что браузер загружает его каждый раз?

Можно ли каким-то образом избежать сохранения видео в localStorage (я видел его в подобном вопросе), потому что это решение не будет работать в режиме частного браузера, а у localStorage есть ограничение по размеру?

UPDATE

С отметкой Отключить кеш введите описание изображения здесь

Без Отключить кеш введите описание изображения здесь

UPDATE

Отчет об ошибке: https://bugs.chromium.org/p/chromium/issues/detail?id=680063

4b9b3361

Ответ 1

Смысл этого в том, что другой процесс, чем Chrome инициировал запрос:

Некоторый другой процесс или действие инициировало запрос, такой как пользователь переход на страницу по ссылке или ввод URL в адрес бар.

В случае Chrome видео декодируется с использованием ffmpeg, который, вероятно, является другим процессом. Вероятно, этот процесс снова откроет файл из кеша, поэтому инициируется запрос или кеш содержит только последнюю часть (или максимальную длину контента в сумме) файла, если файл большой и должен повторно использоваться части содержимого снова, но вы указываете, что, когда кеш отключен, этого не происходит.

localStorage имеет очень ограниченный размер и не очень подходит для хранения видеоданных (он может содержать только строки, поэтому видео должно быть закодировано как mime-64, которое увеличивает размер 33% + каждый char занимает два байта из-за юникода).

Лучшей альтернативой могло бы быть использование IndexedDB - это может содержать гораздо большие данные, а также хранить данные в двоичном формате (Blob). Но он имеет начальный предел, как и в localStorage, но вопреки последнему методу вы можете запросить больший размер, который пользователь должен подтвердить. Я не тестировал, но предполагаю, что вы столкнетесь с теми же ограничениями в частном режиме, что и с любым другим механизмом хранения.

Ответ 2

Вчера у меня была такая же проблема. Я обнаружил, что вкладка Chrome вылетает через пару минут. По-видимому, это происходит только тогда, когда проверяется Disable cache, но если это все еще вас беспокоит, вы можете сохранить видео в локальное хранилище. Больше кода в этом ответе.