Edge не воспроизводит видео, если сервер возвращает 304
Я обнаружил, что Edge не работает при воспроизведении видео во второй раз. Мое приложение использует по умолчанию <video>
тег и Edge отправляет If-Modified-Since
заголовок, когда он загружает видео во второй раз. Если мой сервер возвращает 304 Not-Modified, он не работает. Когда я изменяю это, чтобы возвратить полное видео, это работает.
Кто-нибудь, кто может проверить это поведение? Я делаю что-то не так, я должен добавить другие вещи в мой ответ 304, чтобы это работало?
Кстати, я видел, что другие браузеры, такие как Chrome и Firefox, никогда не отправляют If-Modified-Since
при загрузке видео.
1 ответ
Вы можете взглянуть на этот вопрос об обмене стека, где вы можете прочитать:
Согласно этой статье, вот ситуации, которые браузеры будут запрашивать, используя If-Modified-Since:
- Кэшированная запись не имеет срока действия, и к контенту обращаются впервые в сеансе браузера
- Кэшированная запись имеет срок действия, но срок его действия истек
- Пользователь запросил обновление страницы, нажав кнопку "Обновить" или нажав клавишу F5.
[...]
Одна вещь, которая может помочь, - это добавить "public" в заголовок элемента управления кэша, т.е.
Cache-Control: public, max-age=31536000
,
Вы также можете добавить immutable
так что вы можете попробовать с:
Cache-Control: public, max-age=31536000, immutable