测试服务器的字节范围支持?

Ben*_*ica 7 web-server

使用 iTunes 进行播客需要字节范围请求支持。我正在帮助那些在让 Apple 接受他们的播客以将其包含在他们的 iTunes 商店中遇到困难的人,有人建议他们的网络服务器当前不支持字节范围请求。

我的问题是:有没有办法可以测试 Web 服务器是否正确处理字节范围请求?除了正常的公共请求之外,我无法访问 Web 服务器。如果我在 web 服务器上有 MP3 文件的 URL,我可以使用 web 浏览器或其他工具来测试它,也许查看 HTTP 标头?

Tom*_*ton 15

此命令假定 Linux - 但可能会在 Windows 或 mac 上运行,稍作改动 - curl 广泛可用,但默认情况下可能不会安装在您选择的系统上。我得到的示例文件是 curl 手册 - 一个方便的 URL ;)

curl --silent --range 20-40 https://curl.haxx.se/docs/manpage.html | wc -c
Run Code Online (Sandbox Code Playgroud)

这将返回“21” - 我要求字节 20-40,然后 curl 输出到 stdout,我通过管道将其传送到 wc 以计算字符数。

如果您得到更大的答案,则服务器已发送整个文件(尝试“www.youtube.com”-无论您询问什么范围,它都提供整个索引)。

所以你在这里寻找神奇的 21 来说“字节范围不是问题”。

Mac 替代品(即使 Mac 上的 curl 似乎对我有用......我可能安装了一个特殊版本):

brew install wget
wget --header="Range: bytes=20-40" -t 1 http://www.youtube.com
Run Code Online (Sandbox Code Playgroud)

如果这失败并显示 206,则意味着它有一个范围。您也可以使用 curl“手动”发送标题。