gpt4 book ai didi

http - 当 Accept-Ranges 未在 http header 中设置时,浏览器音频播放失败;为什么?

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:56 27 4
gpt4 key购买 nike

我最近在 firefox 或 chrome 中打开音频文件时发现了一些东西(令我感到惊讶)。如果我不指定 HTTP 响应 header “Accept-Ranges: bytes”,firefox 将无法在播放结束前确定 ogg 文件的长度(以秒为单位)。 Chrome 会发现 ogg 文件的长度(以秒为单位),但音频播放器在到达末尾时出现崩溃,并拒绝在崩溃后重新播放文件。其他浏览器未测试。

工作的 Http 响应 header :

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Type: application/ogg
Content-Length: 245646

失败的 Http 响应 header :

HTTP/1.1 200 OK
Content-Type: application/ogg
Content-Length: 245646

这对我来说很奇怪,因为我没有使用任何部分内容范围。我的服务器实现甚至不支持它们(所以我认为我的服务器在说“接受范围:字节”时可能在说谎)。我当然不明白为什么在浏览器中播放需要这个 header 。两种浏览器是否都有错误,当我不设置 Accept-Ranges header 时会暴露这些错误?这对我来说似乎不太可能。谁能解释一下?

谢谢!

最佳答案

不确定这是错误还是对标准的歪曲解释 - section 14.5 .标准规定可以而不是必须...

OTOH 可能是为了能够使用音频流和/或搜索等。实现的音频播放模块需要此 header ...您可以尝试提交“Accept-Ranges: none”会发生什么...如果它们有点符合 http 1.1 而不是正常工作...

关于http - 当 Accept-Ranges 未在 http header 中设置时,浏览器音频播放失败;为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380532/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com