如果服务器返回304,则Edge不播放视频
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果服务器返回304,则Edge不播放视频相关的知识,希望对你有一定的参考价值。
我发现第二次播放视频时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
以上是关于如果服务器返回304,则Edge不播放视频的主要内容,如果未能解决你的问题,请参考以下文章
304 在 iOS Cordova 应用上播放 html5 视频时未修改
使用HttpWebRequest时,为什么我在某些链接上出现“(304)Not Modified”错误?