metalink-examples: Difference between revisions
m (Reverted edit of UihHlg, changed back to last version by Ant) |
m (Reverted edits by Roc4tCnaal (Talk) to last version by Brian) |
(9 intermediate revisions by 8 users not shown) | |
(No difference)
|
Latest revision as of 18:16, 20 December 2008
Please incorporate this into alternates-examples as it is substantially the same problem. Thanks! Tantek
Metalink Examples
A microformat similar to the Metalink file format for aggregating the ways to get the same exact file.
The Problem
For downloading some files, mirrors are listed without any way of being used automatically by programs that do segmented downloading (Web browsers or download managers). There are many different ways of downloading a file; we want people's clients to choose the best way and location, rather than them having to.
Participants
- Gervase Markham
- Ant Bryan
Real-World Examples
Who offers Mirror downloads for software
This is only a small sampling.
Example #1: Ark Linux Download
You can download Ark Linux Home 2006.1-rc2 from any of the following locations (you should typically pick one close to your location, unless it is overloaded): Name
Location Protocols
North Carolina, USA FTP HTTP
Oregon, USA FTP HTTP
Kent, UK FTP HTTP
Amsterdam, The Netherlands FTP HTTP
Amsterdam, The Netherlands FTP HTTP
Dublin, Ireland FTP HTTP
Poland FTP
Thessaloniki, Greece FTP HTTP
The torrent file is here.
Existing Practices
Most solutions are manual (wading through FTP sites on mirrors to find the exact file) or by searching against a filename & size.
Proposal
A microformat for Mirrors could make them more usable. Web browsers or download managers could be modified to use them automatically.
<div class="metalink"> <a href="http://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP download</a> <a href="ftp://www.foo.com/foo.zip!md5!FFEEE542543...">HTTP download</a> <a href="http://www.foo2.com/foo.zip!md5!FFEEE542543...">HTTP download</a> <a href="http://www.foo.com/foo.torrent">Bittorrent download</a> <a href="ed2k:/....">EDonkey download</a> </div>
It's pretty simple; the microformat states that all <a> links inside a <sometag class="metalink"> are alternative ways of reaching the same resource, and that when the UA sees a page like this it should automatically pick the best one and begin downloading.
For legacy UAs, a stylesheet can hide the checksum spans if the author wants to. No semantic information is present in the page text, which can be freeform, in any language or whatever. The type of the link is inferred from the scheme (in this case, http:) or the file extension (e.g. .torrent) of the URL.
The microformat leverages Link Fingerprints to embed the checksums where required (BT, for example, has its own).
Alternatively, hash-examples could be used for checksums.