gpt4 book ai didi

Firefox 忽略响应 header 内容范围并仅播放发送的示例

转载 作者:行者123 更新时间:2023-12-01 02:16:29 24 4
gpt4 key购买 nike

我为 mp3 建立了一个音频流文件,每次客户端点击音频时,它都会收到如下内容:

enter image description here

但它所做的只是播放 1 分钟的样本而不是 120 分钟

enter image description here

我在这里做错了什么?

最佳答案

不是 100% 确定,因为您没有提供代码或示例流进行测试,但是您对 HTTP 范围请求的处理被破坏了。

在您的示例请求中,客户端发送 Range: bytes=0- ,并且您的服务器以 1MiB 响应:

  • Content-Length: 1048576 (又名。1 MiB)
  • Content-Range: 0-1048575/...

  • 这是错误的,客户没有要求这个!它确实要求 bytes=0- ,表示从位置 0 到整个流末尾的所有数据(参见 http 1.1 RFC ),即等于 1 的响应没有任何 Range . (IIRC,Firefox 仍然发送 Range: bytes=0- 来检测服务器是否首先处理范围)。

    这个,结合 Content-Length , 导致客户端 (Firefox) 认为整个资源的大小仅为 1MiB,而不是实际大小。我想你的测试流的前 1 MiB 会以 1:06 的音频出现。

    PS: Content-Duration header (又名。RFC 3803)是浏览器通常根本不实现而只是忽略的东西。

    关于Firefox 忽略响应 header 内容范围并仅播放发送的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347901/

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