以百度音乐的URL为例:http://music.baidu.com/data/music/file?link=http://zhangmenshiting.baidu.com/data2/music/23512929/58929231353722461.mp3?xcode=46916de5bb4f17904142dc87def856f4
这个URL我们应该如何分析呢?link是文件实际地址吗?xcode的用途是什么如何生成的呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
link地址肯定不是真实的,并且文件名中包含了某个cache_key,可以找到对应的expire_time等信息。
至于xcode,也许可能大概是这么算出来的:xcode = md5(cache_key + secret_key)
其中secret_key仅保存在服务端,保证了server端可以验证,客户端无法伪造的效果。这样这个地址在超过了某个时间以后就不能下载了,可以避免外链等问题。