我发现第二次播放视频时Edge不起作用。我的应用使用默认的<video>
标记,Edge在第二次加载视频时发送If-Modified-Since
标头。如果我的服务器返回304 Not-Modified它不起作用。当我更改它以返回完整的视频时,它的工作原理。
任何可以验证此行为的人?我做错了什么,我应该在304响应中添加其他内容以使其正常工作吗?
顺便说一下,我看到Chrome和Firefox等其他浏览器在加载视频时从不发送If-Modified-Since
。
答案 0 :(得分:5)
您可以查看this stackexchange question,在那里可以阅读:
根据this article,这些是浏览器的情况 请求使用If-Modified-Since:
- 缓存条目没有到期日期,并且首次在浏览器会话中访问内容
- 缓存条目的截止日期已过期
- 用户通过单击“刷新”按钮或按F5
请求页面更新[...]
可能有用的一点是添加&#34; public&#34;到缓存控制 标题,即
with tempone as (SELECT deviceid, system.Timestamp as windowtime, max(value) AS P1 FROM test TIMESTAMP BY timestamp where parameter = 'p1' GROUP BY deviceid, TumblingWindow(minute, 10)), temptwo AS ( SELECT deviceid, system.Timestamp as windowtime, max(value) AS P2 FROM test TIMESTAMP BY timestamp where parameter = 'p2' GROUP BY deviceid, TumblingWindow(minute, 10)) select tempone.deviceid, tempone.windowtime, tempone.P1, temptwo.P2 from tempone join temptwo on tempone.deviceid = temptwo.deviceid and DATEDIFF(minute,tempone, temptwo) BETWEEN 0 AND 1
。
您也可以添加Cache-Control: public, max-age=31536000
,因此可以尝试使用:
immutable