我发现第二次播放视频时Edge不起作用。我的应用程序使用默认的<video>
标记,Edge在第二次加载视频时发送If-Modified-Since
标头。如果我的服务器返回304 Not-Modified它不起作用。当我更改它以返回完整的视频时,它的工作原理。
任何可以验证此行为的人?我做错了什么,我应该在304响应中添加其他内容以使其正常工作吗?
顺便说一下,我看到Chrome和Firefox等其他浏览器在加载视频时从不发送If-Modified-Since
。
你可以看看this stackexchange question,你可以在这里阅读:
根据this article,这些是浏览器将使用If-Modified-Since请求的情况:
- 缓存条目没有到期日期,并且首次在浏览器会话中访问内容
- 缓存条目具有到期日期但已过期
- 用户通过单击“刷新”按钮或按F5请求页面更新
[...]
可能有帮助的一件事是将“public”添加到缓存控制头,即
Cache-Control: public, max-age=31536000
。
你也可以添加immutable
,所以你可以试试:
Cache-Control: public, max-age=31536000, immutable