有时下载软件是一种痛苦,特别是当你知道的下载地址和BT 服务器都当掉的时候。比如说,当Fedora 6 刚刚发布的时候,虽然它的镜像的服务器不少,却难以承受众多的用户,而BT下载的速度又因为缺乏种子而慢如乌龟。还要多谢Metalink,让我在睡觉的时候完成了Fedora 6的下载。

Metalink 是一个开放的标准,目的是让用户能够更简单、快速、稳定地下载文件。Metalink本身并不是一个下载工具,它实际上是一个可被下载客户端支持的结构文件,它将传统的HTTP和FTP协议和当前流行的BT协议结合在一起。

Metalink标准体现在一个扩展名是.metalink的XML文件,这个文件里记录着下载的URL信息。这个文件里记录着你想下载的文件的镜像服务器的地址。除了支持HTTP和FTP的镜像地址外,Metalink还支持着包括BitTorrent,ed2k和magnet links在内的P2P下载源的信息。在OpenOffice.org发布的metalink文件中就包含了50多条HTTP和FTP镜像服务器地址和一个torrent文件地址。

在使用普通的下载链接下载OpenOffice的时候,如果服务器在下载过程中因为某种原因连接不上了,势必造成下载失败的结果,而是否能断点需传下载了一半的文件还要依赖于所使用的下载工具的性能。而如果是借助于metalink文件的下载,则可避免这种情况的发生。如果一台服务器中断了连接,下载客户端还可以通过metalink文件找到其他的下载链接来继续完成下载。这样就大大的提高了下载的成功性。毕竟列举出的所有服务器都不能连接的情况是几乎不可能发生的。

而且,通过metalink下载的文件可以被自动校验。MetaLink 使用 MD5SUM, SHA1SUM 和 PGP 签名验证文件,这些校验信息都包含在.metalink文件中。校验信息就像人类的指纹一样,对于每个文件来说,是唯一的。如果在下载过程中出现了任何传输错误或者是服务器上的文件被替换了,校验信息都会匹配失败。如果使用传统的方式下载,在校验失败后,你必须要寻找下载地址来重新下载文件。但是使用Metalink下载,情况就不同了。比如说,你要下载的文件的metalink文件里包含了一个torrent文件信息,Metalink就可以利用这个torrent文件的块校验机制来校验镜像地址对应的文件。如果下载过程中有一个块的下载出错了,Metalink可以及时的发现,并立即重新下载这个块而不是在下载完成时才发现错误而重新下载整个文件。

发布metalink文件软件的发布者可以通过创建一个后缀名为.metalink文件来发布自己产品的下载信息。这个.metalink文件实际上是一个中包含了下载链接地址和下载优先级的XML文件。文件格式很简单,可以手工编辑,也可以借助于在线的Metalink创建工具Metalink Creator来创建。只要填写需要的信息可以完成你自己的metalink文件了。在这个在线的Metalink创建工具Metalink Creator 里,还提供了几个跨平台的应用和Perl 脚本 。一旦创建了.metalink文件,发布者就可以添加MIME 类型 ("application/metalink+xml") 到他们的服务器了。这将帮助使用着用他们的下载客户端来下载并打开metalink文件了。如果不设置MIME类型,当点击.metalink文件的URL时,.metalink文件将以文本的形式被浏览器打开,而不是被下载工具下载。还有一个小技巧,软件发布者可以定义下载地址的优先级。比如说,给torrent文件设置更高的下载优先权,可以帮助发布者节省带宽,但是,如果所有的种子都停止共享了,下载会自动启动HTTP/FTP下载。

使用metalink文件
普通的下载客户端都可以很容易的将.metalink文件下载到计算机上。然而,您可以使用支持metalink下载的下载工具。目前,Linux平台的用户可以选择aria2 client (命令行界面), wXDownload Fast client (图形界面),或者使用Flashgot, KGet2也即将支持metalink的下载。这里是其他操作系统平台上支持metalink下载的工具列表。
此处有一个列表,列出了提供了.metalink文件下载的项目。OpenOffice.org从7月开始提供了metalink文件给各种推广渠道。除了下载ISO文件和软件的安装包外,Metalink文件还可以做为升级包使用。Arch Linux 准备在它的升级管机制中使用metalink文件,来保证快速和稳定的升级包下载。

希望能实现的功能
虽然Metalink还处于探索阶段,Anthony Bryan 先生已经为之努力了11年。一些他希望管理工具实现的功能,对于管理工具来说,需要改变程序的架构或被认为是对用户无用的功能而无法实现。其中之一就是根据服务器的响应速度来选择镜像的功能。如果这个功能能被下载工具所接受,那么下载优先级的设置就会自动根据服务器的响应来自动调整了。另外,就是在metalink文件的头部设置一个更新连接,这样下载客户端就可以得到镜像文件是否还存在的时时信息了。另外一个被去掉的功能是根据用户想要下载的版本信息来创建metalink文件。在下载的时候,可以通过一些设置或命令行参数来选择自己想要的版本。比如说,FireFox 的下载页面上提供了许多种语言版本的下载。这些信息都可以记录到metalink文件里,在下载工具进行下载时,根据自身的系统的语言设置在自动下载相应的语言版本。
Bryan希望这些功能有一天终能被实现,但这些依赖于下载工具和软件发布者的大力支持。

结论
Metalink给我留下了很好的印象,它节省了用户用来寻找下载连接和下载镜像地址的时间。多源下载,会充分利用用户的带宽。而且,不会抢死带宽,没有用户交互上的棘手感。我希望能看到更多的推广渠道和软件发布者和下载客户端支持metalink的下载 。

下载的福音--Metalink相关推荐

  1. 智能系统机器人_机器对机器经济(M2M)和多智能体系统的重要性

    智能系统机器人 During my latest mission, I was in charge of developing a strategy related to decentralized ...

  2. 可缩放性_缩放Sprint以提高安全性和隐私性

    可缩放性 After quietly building a strong customer base with little fanfare, Zoom became a household name ...

  3. 使用metalink批量下载sentinel数据

    问题描述 在下载很多sentinel数据的时候,不想一个一个点,也没有IDM可以用,除了用Python下载,还有什么简便的方法没? 有Aria2 具体步骤 1 首先安装Aria2 Github项目地址 ...

  4. IE9 下载管理,轻松您的下载

    众里寻她千百度,IE9作为浏览器的二次革命,其测试版在万众瞩目之下于9月15日全球发布.IE9在速度与性能上尽显品质,带给您快速.高效的浏览体验和清新.简洁的视觉盛宴.同时,在网络安全备受关注的时代, ...

  5. 将metalink中的网页链接用python 提取

    想下TED,下载的到metalink格式的文件,现在都没有工具支持下载,自己动手用python提取吧 (1)问题 原始文件有几千个类似的结构: 要把从Https 到MP4的字符串找出来,变成一个lis ...

  6. 可web管理的linux下载工具,2019年最受欢迎的5款Linux下载管理器

    原标题:2019年最受欢迎的5款Linux下载管理器 Windows上的下载管理器是Linux世界的新来者最怀念的东西之一,像Internet Download Manager和Free Downlo ...

  7. Oracle 补丁全集 (Oracle 9i 10g 11g Path)

    ****************************************** Oracle 补丁全集 (Oracle 9i 10g 11g Path) ******************** ...

  8. oracle 11升级补丁,ORACLE 11g 升级补丁(Patch)

    Oracle11g的补丁层出不穷.下面将其罗列,方便大家下载. 从 Oracle 官方网站下载需要使用 Metalink 帐号,下面的下载链接可以直接使用迅雷来下载,对于没 Metalink 帐号的用 ...

  9. oracle打patch,Oracle初学者入门指南-How to get Oracle Patch?

    Oracle初学者入门指南-How to get Oracle Patch? 怎样获得/找到Oracle的Patch,这是一个朋友在Itpub上问到的问题.他还举了一个生动的例子: 比如我要使用ora ...

最新文章

  1. 路,链(迹),割的概念
  2. count(*)效率提高_想使用多线程来提高处理速度,却还不知道使用CountDownLatch与CyclicBarries?...
  3. tensflower官方测试案例_大数据性能测试介绍
  4. Android Broadcast Security
  5. 为div添加滚动效果:
  6. OC中语法糖,最新语法总结
  7. 题目1002:Grading
  8. ICCV 2021 oral 重构+预测,双管齐下提升视频异常检测性能
  9. oracle 关系 表 视图_在Oracle数据库中,表和视图的区别与联系
  10. 推荐5款超实用的小软件,建议先收藏再下载
  11. uni-app image组件当显示不出图片时显示默认图片
  12. Win10 LTSC 2021安装及相关bug解决
  13. 校运会计算机应用口号,校运会入场霸气押韵口号(精选60句)
  14. [机器学习笔记] 什么是经验风险?什么是结构风险?
  15. 2021杭电多校第3场_HDU6975_Forgiving Matching
  16. 使用阿里云实现营业执照的查询
  17. springboot毕设项目流动人口信息管理系统9i8kh(java+VUE+Mybatis+Maven+Mysql)
  18. 小米路由器R4AC 小米路由器4A百兆版 原厂BootLoader和eeprom
  19. Prizmo Pro for Mac(OCR图像文字识别工具)
  20. block、多线程与GCD总结

热门文章

  1. Python之反爬虫手段(User-Agent,Cookie,Referer,time.sleep(),IP代理池)
  2. Mybatis 批量操作(批量插入、批量更新、批量删除)总结
  3. Nginx 基础详解(一)
  4. Redis应用场景简介
  5. 爬取中国工程院院士的信息
  6. 英雄无敌3 死亡阴影 修改器
  7. amd 服务器芯片组,锐龙好搭档 推荐几款AMD芯片组主板
  8. 微信小程序组件所在页面的生命周期
  9. Linux 之父亮相,OpenCloudOS 社区开放日来了
  10. telnet命令 测试服务器指定端口通不通