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
Другие вопросы по тегам