10

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

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

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

4

1 回答 1

4

您可以查看这个 stackexchange question,您可以在其中阅读:

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

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

[...]

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

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

Cache-Control: public, max-age=31536000, immutable
于 2018-03-22T18:22:25.960 回答