一次播放失败,可能同时出现播放器提示、控制台报错和多条失败请求。先定位一条能明确识别的请求,比根据提示中的某个词直接套用修复方法更有用。
把两个不同层面的现象分开
HTTP 403 表示服务器拒绝处理该请求;CORS 则关系到浏览器是否允许脚本读取跨域响应。两者描述的环节不同,也可能同时出现在一次访问中。
所以,“把地址放进新标签能打开”和“网页播放器可以通过脚本读取资源”是不同的观察。任何一个结果,都不足以单独说明播放所需的全部请求发生了什么。
记录一条真正有用的请求
- 重现失败前先打开浏览器网络面板,这一轮保持原来的测试条件。
- 识别失败的资源类型:入口清单、子清单、媒体或其他依赖。把响应状态与附近的控制台消息分开记下。
- 记录页面来源、资源主机和请求时间,便于资源所有者在服务端日志中定位对应记录。
- 对外发送前,移除访问令牌、Cookie 和私人查询参数,参照请求支持前的隐私检查。
根据观察决定下一项检查
| 观察到的结果 | 下一项有用检查 |
|---|---|
| 已明确识别的请求收到 403 | 请资源所有者结合访问规则和日志解释拒绝原因。 |
| 控制台提示 CORS 问题 | 检查与这条消息对应的请求和响应头,不要用另一条成功请求替它下结论。 |
| 尚未观察到可确认的响应 | 先记录为证据不完整,再检查连接或更早发生的失败。 |
每次完成一项有权限执行的调整后,重复同一个测试,比较同一项资源。即使暂时还不能播放,把问题缩小为有证据支持的解释,也是一项有效结果。
需要从浏览器角度检查时,可使用浏览器流测试,再按播放问题报告保留观察。