Я размещаю сайт, на котором размещается видео HTML. Видеоответ моего сервера включает заголовок cache-control: public, max-age=31536000, immutable
. Все работает на Firefox, но на Chrome и Safari я не вижу ожидаемых результатов кеширования.
My JavaScript (Angular) ищет видео в случайном месте в случайное время интервалы. Есть две связанные, но разные проблемы, с которыми я сталкиваюсь:
- Chrome и Safari запрашивают диапазон видео каждый раз, когда ищет видео, даже если он уже запрошен. этот диапазон. Это означает, что если я оставлю браузер открытым, он никогда не перестанет делать запросы .
- Chrome и Safari не кэширует видео между загрузками страниц.
Я подозревал, что проблема заключается в размере видео (170 МБ), поэтому для тестирования я заменил его на видео меньшего размера (9 МБ). Для более короткого видео не возникает проблем, связанных с более длинным видео:
- Если видео не кэшировано. Chrome и Safari делают только один запрос. Они не делают новые запросы для каждого поиска.
- После первого запроса Chrome и Safari кэшируют видео для новых видео-запросов.
Заголовки запроса / ответа - это то же самое для двух видео, и все ответы имеют статус 206
. Единственное существенное различие, которое я могу найти, заключается в том, что для меньшего видео обычно требуется только один запрос для загрузки, тогда как для большего видео требуется несколько запросов.
Почему я не могу кэшировать большее видео? Как мне это обойти?