При каких условиях браузер будет кэшировать файлы <video>? - PullRequest
11 голосов
/ 25 февраля 2011

При каких условиях браузер будет кэшировать файлы?Иногда это так, иногда нет.Если здесь никто не знает, моим следующим шагом будет тестирование различных форматов файлов, размеров файлов и сценариев htaccess.

Если вы не знаете, можете ли вы подумать о других переменных, которые вы бы порекомендовалитестирование?

Заранее спасибо!

Ответы [ 2 ]

16 голосов
/ 28 февраля 2011

Следующее работает, чтобы инструктировать браузер кэшировать файлы. Последняя строка была необходима, чтобы сервер доставлял файлы webm с правильным типом заголовка MIME.

# Expires is set to a point we won't reach,
# Cache control will trigger first, 10 days after access
# 10 Days = 60s x 60m x 24hrs x 10days =  864,000
<FilesMatch "\.(webm|ogg|mp4)$">
Header set Expires "Mon, 27 Mar 2038 13:33:37 GMT"
Header set Cache-Control "max-age=864000"
</FilesMatch>
AddType video/webm .webm
5 голосов
/ 25 февраля 2011

Спецификация HTML5 не является строгой в отношении того, что браузер должен делать с кэшированием видеофайлов - она ​​просто предлагает, что является «разумным», поэтому теоретически разные браузеры могут вести себя по-разному.

Веб-разработчики могут пытаться контролироватькэширование видео с использованием атрибута preload в элементе <audio> или <video>, например:

preload=none Пользователь может не смотреть видео (т.е. лучше не загружать предварительно)

preload=metadata Пользователь может смотреть видео (т. Е. Лучше просто загрузить информацию о видео (размер, продолжительность и т. Д.))

preload=auto Пользователь, вероятно, будет смотреть видео (несомненно, хорошая идеядля предварительной загрузки и кэширования видео)

Как я уже говорил, спецификация не обеспечивает этого, поэтому браузеры могут игнорировать значения предварительной загрузки, если они захотят.Одним из примеров может быть, если браузер обнаруживает медленное или нестабильное соединение и поэтому отказывается от предварительной загрузки, хотя я не знаю ни одного браузера, который делает это в настоящее время.

Дополнительная информация об атрибуте предварительной загрузки приведена здесь: http://www.w3.org/TR/html5/video.html#attr-media-preload

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...