磁力連結

磁力連結檔案內容，屬於統一資源名稱。也就是說，磁力連結不基於文件的IP地址或定位符，而是在分散式資料庫中，透過雜湊函式值來識別、搜尋來下載文件。因為不依賴一個處於啟動狀態的主機來下載文件，所以特別適用沒有中心伺服器的對等網路。它符合開源標準。歷史.這個標準的草稿出現於2002年，是為了對eDonkey2000的“codice_1”和Freenet的“codice_2”兩個URI格式進行“廠商與專案中立化”而制定的。同時這個標準也嘗試緊密地跟進IETF官方的URI標準。內容雜湊函式的應用.磁力連結最常見的用途是基於檔案內容的雜湊函式值來連結到特定檔案，生成一個唯一的檔案識別符，類似於ISBN。不像常規的識別符，內容雜湊可以被任意一位持有此檔案的人生成，所以並不需要一箇中心機構，這使其在檔案共享領域經常被用作搜尋條件，因任何人都可以分發一個磁力連結來確保該連結指向的資源就是他想要的，而和得到該資源的方式無關。另一個磁力連結的優勢是開放性和跨平臺性：一個磁力連結可被執行在幾乎所有平臺上的應用程式們使用以下載一個檔案。因為磁力連結十分簡潔且為純文字格式，所以使用者可以很方便地將其複製到電子郵件或即時訊息中，比如種子檔案。技術描述.磁力連結由一組引數組成，引數間的順序沒有講究，其格式與在HTTP連結末尾的查詢字串相同。最常見的引數是"xt"，是"exact topic"的縮寫，通常是一個特定檔案的內容雜湊函式值形成的URN，例如：codice_3其值是編碼的檔案的SHA-1雜湊。注意，雖然這個連結指向一個特定檔案，但是客戶端應用程式仍然必須進行搜尋來確定哪裡，如果有，能夠獲取那個檔案。在標準的草稿中其他引數的定義如下:標準還建議同類的多個引數可以在引數名稱後面加上".1", ".2"等來使用，例如codice_4描述.磁力連結可以包括一個或多個引數，之間用'&amp;'隔開。引數的順序在檔案在標準中沒有記錄。有一些引數的值對於客戶端正確解析磁力連結很重要。codice_5引數.xt引數.磁力連結的這部分最重要。用於尋找和驗證包含著磁力連結中的檔案。TigerTree雜湊函式被用在包括和在內的幾個網路中。xt=urn:tree:tiger:[ TTH Hash]Gnutella和使用的雜湊函式。xt=urn:sha1:[ SHA-1 Hash]這種雜湊函式包含一個SHA-1雜湊函式和一個TTH雜湊函式，用"."隔開。Gnutella和使用。xt=urn:bitprint:[ SHA-1 Hash]eDonkey2000使用的雜湊函式演算法。xt=urn:ed2k:[ ED2K Hash]不是正式的磁力連結的一部分。eDonkey2000使用的雜湊函式演算法，用於儲存和控制下載完成、正在下載的檔案的完整性。xt=urn:aich:[ aich Hash]使用的雜湊函式演算法。xt=urn:kzhash:[ Hash]BitTorrent使用的雜湊函式演算法。出於向下相容的考慮，客戶端需要同時支援被編碼過的BTIH雜湊結果。xt=urn:btih:[ BitTorrent Info Hash]支援的雜湊函式演算法。xt=urn:md5:[ MD5 Hash]不是正式的磁力連結的一部分。沒有任何已知的P2P網路使用。xt=urn:crc32:[ CRC-32]網路連結至檔案.有兩種可以插入到磁力連結的下載連結作為直接或者備用資源。普通連結."as"的意思是"acceptable source"。這種連結指向從網路伺服器的直接下載。只有在指定的超時後才會連結，防止伺服器過載。客戶端在考慮向伺服器傳送下載請求前會先花一定時間在P2P網路中定位檔案。as=[檔案的網路連結]P2P連結.連結可以是連結到磁力連結的檔案的HTTP地址。對於這一連結，客戶端嘗試直接連結，並請求檔案或其有時會同時請求二者。這一欄位常被P2P客戶端用來儲存源。引用中可能包含檔案hash。內容定址網路URL這類連結被Gnutella還有G2應用程式使用，基於RFC 2168。xs=http://[ 客戶端地址]:[客戶端埠]/uri-res/N2R?[包含一個檔案hash的URN ]例：xs=http://192.0.2.0.27:6346/uri-res/N2R?urn:sha1:FINYVGHENTHSMNDSQQYDNLPONVBZTICF這一連結立即將DirectConnect客戶端連線到剛才討論的hub。xs=dchub://[hub 地址]:[hub埠]這種情況下，連結包含的點不是客戶端IP或直接而是取。這樣的快取並不包含檔案本身，而是儲存了其他客戶端的IP，這些客戶端連線到快取來下載相同的檔案。一旦客戶端連線到快取並獲得其他替代IP，其自身IP就會存入到快取中，然後繼續連線到下一個快取，繼續請求替代這種系統類似於BitTorrent tracker的操作。xs=http://cache.freebase.be/[ SHA-1 hash ]xs=ed2k://[ 客戶端地址]:[客戶端埠]/[ed2k hash]/[檔案大小]/檔案列表.這是一個導向一系列連連結列表的連結……mt=http://weblog.foo/all-my-favorites.rss或者是一個URNmt=urn:sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ關鍵字.該部分代表了一串用於P2P網路搜尋用的關鍵字kt=martin+luther+king+mp3Tracker地址.Tracker URL.用於在不需要分散式雜湊表支援下下載BitTorrent資源。tr=http://example.com/announce補充格式.對於實驗性且自補的非正式選項，可以使用字首x後加已選擇的第二個字母x.[新引數名]=[新引數資料]引數組.透過在每個引數後編號並用"."來分隔允許一個Magnet連結中包含多個檔案及它們URN,檔名和雜湊函式值。magnet:?xt.1=[第一個檔案的URN]&amp;xt.2=[第二個檔案的URN]示例.連結到一個0位元組長度的檔案。magnet:?xt=urn:ed2k:31D6CFE0D16AE931B73C59D7E0C089C0&amp;xl=0&amp;dn=zero_len.fil&amp;xt=urn:bitprint:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ.LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ&amp;xt=urn:md5:D41D8CD98F00B204E9800998ECF8427Emediawiki-1.15.1.tar.gzmagnet:?xt=urn:ed2k:354B15E68FB8F36D7CD88FF94116CDC1&amp;xl=10826029&amp;dn=mediawiki-1.15.1.tar.gz&amp;xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY&amp;xt=urn:btih:QHQXPYWMACKDWKP47RRVIV7VOURXFE5Q&amp;tr=http%3A%2F%2Ftracker.example.org%2Fannounce.php%3Fuk%3D1111111111%26&amp;as=http%3A%2F%2Fdownload.wikimedia.org%2Fmediawiki%2F1.15%2Fmediawiki-1.15.1.tar.gz&amp;xs=http%3A%2F%2Fcache.example.org%2FXRX2PEFXOOEJFRVUCX6HMZMKS5TWG4K5&amp;xs=dchub://example.org url magnethttps://web.archive.org/web/20110716164755/http://sure-raza.com/magnet:/?xl=10826029&amp;dn=mediawiki-1.15.1.tar.gz&amp;xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY客戶端.此外，支援磁力連結的應用程式還包括Vuze、BearShare、DC++、Deluge、gtk-gnutella、Kazaa、LimeWire、FrostWire、MP3 Rocket、Morpheus、Shareaza、MLdonkey、aMule、KCeasy和TrustyFiles。