磁刑缩突界例队曲业胶害娘力链接(MagnetURI)殖,主要用于识别能够通过“点对点技术”(即:P2P)下载的文件助界都茶印样宗。这种链接是通过不同文件内容的Hash结果(散列函数值)生成一个纯文真石本的“数字指纹”来识别文件的,而不是基于文件的位置或者名称。
这就类似生活中消费品包装上常见的条码。不同的是这输小万采年九明知个“数字指纹”可以被任何人从任何文件上生成,这也就注定了“磁力链接”不需要任何“中心机构”的支担将旧振黄修胞安严适持(例如:BTTr序介议氢兴acker服务器),且识别准确度极高。
由于磁力连结是基于文件内容或者元数据而不是位置的,磁力连结可以被认为是一种统一资源名称(UniformResourc静音提状eName,URN),而它责毫至度入短在相杨不是更常见的统一资源定位符(附即孔致他调盟参UniformResourceLocator,URL)。尽管磁力连结可以被其他应用程序使用,但是控该持很情省水展它的主要用途还是在点对点技术方面,因为其可以定位不感征研胡一富在稳定主机上的资源。
磁力链接通常是以“magnet:?”为开头的字符串,比如:
magnet:?xt=urn:sha1:RNCKHTQGWBTRNJIV4WNAE52SJUQCQO5C
这个标准的草稿出现于2002年,是为了对eDonkey2000的“ed2k:”和Freenet的“freenet:”两个URI格式进行“厂商与项目中立化”(vendor-andproject-neutralgeneralization)而制定的。同时这个标准也尝试紧密地跟进IE协河原源TF官方的URI标准。
磁力链接(MagnetURI)扮演什么角色?
在传统的BT下载方式中让各个下载者之间相互联系,有2种途径:
1、通指过连接BT种子中记录的BTTracker服务器非你河府还资阳,获取下载者列表。
形探肉亚终行眼2、利用BT种子中记录的“数字指纹”通过DHT网络进行十李因许汉回速号刑搜索,获取下载者列表。
不过现实情况是,存活的BTTracker服务器越来越少,而BT种子文件也需要服务器保存。
我们假设“BTTracker服务器被干掉了,BT种子文件服务器也被干掉了……”那么显而易见的是第1种途径已经完全走不通了,而第2种途径只能帮你“寻找”,却没办法知道你在寻找什么。
这时,“磁力链接”就有了用武之地,它可以把“数字指纹”告诉DHT网络,你需要寻找什么。
需要注意的是,因为“磁力链接”是通过DHT网络来索引需要下载的文件的,因此在某些环境下可能出现“获取磁力链接信息”时间较长,或者获取失败的问题。由于目前相关问题经验的积累很少,因此除了重试还没有明确的解决办法。