以百度音乐的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端可以验证,客户端无法伪造的效果。这样这个地址在超过了某个时间以后就不能下载了,可以避免外链等问题。
欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。 温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。