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

And*_*dre 10 video html5 if-modified-since microsoft-edge

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

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

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

A S*_*ANI 5

您可以查看这个stackexchange问​​题,您可以在其中阅读:

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

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

[...]

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

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

Cache-Control: public, max-age=31536000, immutable
Run Code Online (Sandbox Code Playgroud)