如果服务器返回304,则Edge不播放视频

问题描述 投票:10回答:1

我发现第二次播放视频时Edge不起作用。我的应用程序使用默认的<video>标记,Edge在第二次加载视频时发送If-Modified-Since标头。如果我的服务器返回304 Not-Modified它不起作用。当我更改它以返回完整的视频时,它的工作原理。

任何可以验证此行为的人?我做错了什么,我应该在304响应中添加其他内容以使其正常工作吗?

顺便说一下,我看到Chrome和Firefox等其他浏览器在加载视频时从不发送If-Modified-Since

html5 video microsoft-edge if-modified-since
1个回答
5
投票

你可以看看this stackexchange question,你可以在这里阅读:

根据this article,这些是浏览器将使用If-Modified-Since请求的情况:

  • 缓存条目没有到期日期,并且首次在浏览器会话中访问内容
  • 缓存条目具有到期日期但已过期
  • 用户通过单击“刷新”按钮或按F5请求页面更新

[...]

可能有帮助的一件事是将“public”添加到缓存控制头,即Cache-Control: public, max-age=31536000

你也可以添加immutable,所以你可以试试:

Cache-Control: public, max-age=31536000, immutable
© www.soinside.com 2019 - 2024. All rights reserved.