多年来,我一直通过直接链接到 MP3 并让设备的浏览器处理播放来为一个小型社区提供一些 mp3。在用户将他们的 iPhone 更新到 iOS 8 之前一切正常。现在播放 MP3 的 native 不起作用。经过大量测试后,我似乎已将范围缩小到使用 .htaccess。
这是两个相同的目录,具有相同的 mp3 和 directory listing software在他们中。但其中一个受密码保护(U:music P:access)。
正常: http://danielmee.com/dl/
安全: http://danielmee.com/dl-secure/
我也试过使用 JS player这也打破了一次安全目录。 iOS 8 中发生了什么变化以禁用 MP3 播放,有没有办法修复它?
最佳答案
iOS 播放音乐文件所经过的循环是 interesting, to say the least .查看数据包跟踪,文件的初始请求正确发送了凭据,但后续的部分请求没有凭据。这可能是 Safari 中的错误;如果您获得了 Apple 的免费开发者帐户,您可以 report the problem to them .
HTTP 身份验证是这样工作的:浏览器发出对资源的请求;服务器响应“需要 401 授权”并包含一个 WWW-Authenticate
header ,指示身份验证类型(在您的情况下为基本)和“领域”,这只是对 protected 资源进行分组的一种方式。客户端重新请求相同的资源,添加一个包含用户名和密码的 Authorization
header ——在基本身份验证的情况下,它只是 base 64 user:pass。通常,对于同一领域内的每个后续请求,浏览器都会缓存这些凭据并在不询问的情况下发送它们。
关于ios - 在 .htaccess 后面时,原生 MP3 无法在 iOS 8 中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382018/