84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
以百度音乐的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端可以验证,客户端无法伪造的效果。这样这个地址在超过了某个时间以后就不能下载了,可以避免外链等问题。
link地址肯定不是真实的,并且文件名中包含了某个cache_key,可以找到对应的expire_time等信息。
至于xcode,也许可能大概是这么算出来的:
其中secret_key仅保存在服务端,保证了server端可以验证,客户端无法伪造的效果。这样这个地址在超过了某个时间以后就不能下载了,可以避免外链等问题。