磁力連結(Magnet URI scheme)

磁力連結(Magnet URI scheme),是對等網路中進行資訊檢索和下載文件的電腦程式。和基於「位置」連接的統一資源定位符不同,磁力連結是基於元資料(metadata)檔案內容,屬於統一資源名稱。也就是說,磁力連結不基於文件的IP位址或定位符,而是在分散式資料庫中,通過雜湊函式值來辨識、搜尋來下載文件。因為不依賴一個處於啟動狀態的主機來下載文件,所以特別適用沒有中心伺服器的對等網路。儘管它符合開源標準,卻被壟斷資訊資源和監控用戶行為的個人、組織、企業和政府拒之門外。

磁力連結最常見的用途是基於檔案內容的雜湊函式值來連結到特定檔案,生成一個唯一的檔案辨識符,類似於ISBN。不像常規的辨識符,內容雜湊可以被任意一位持有此檔案的人生成,所以並不需要一個中心機構,這使其在檔案共用領域經常被用作搜尋條件,因任何人都可以分發一個磁力連結來確保該連結指向的資源就是他想要的,而和得到該資源的方式無關。(雖然技術上講,兩個不同的檔案可能具有相同的雜湊值,但實際上這是極不可能發生的)
另一個磁力連結的優勢是開放性和跨平台性:一個磁力連結可被執行在幾乎所有平台上的應用程式們使用以下載一個檔案。因為磁力連結十分簡潔且為純文字格式,所以用戶可以很方便地將其複製到電子郵件或即時訊息中,比如種子檔案

技術描述[編輯]

磁力連結由一組參陣列成,參數間的順序沒有講究,其格式與在HTTP連結末尾的查詢字串相同。最常見的參數是"xt",是"exact topic"的縮寫,通常是一個特定檔案的內容雜湊函式值形成的URN,例如:
Magnet-icon.gif magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
其值是Base32編碼的檔案的SHA-1雜湊。
注意,雖然這個連結指向一個特定檔案,但是用戶端應用程式仍然必須進行搜尋來確定哪裡,如果有,能夠取得那個檔案。
在標準的草稿中其他參數的定義如下:
  • "dn" ("顯示名稱"):為了方便,為用戶顯示檔案名稱
  • "kt" ("關鍵字"):更籠統的搜尋,指定搜尋鍵碼而不是特定檔案
  • "mt" ("檔案列表"):一個URI指向一個列表,例如一個專案列表
  • 應用程式定義的實驗參數,必須以"x."開頭
標準還建議同類的多個參數可以在參數名稱後面加上".1", ".2"等來使用,例如
Magnet-icon.gif magnet:?xt.1=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C&xt.2=urn:sha1:TXGCZQTH26NL6OUQAJJPFALHG2LTGBC7

描述[編輯]

磁力連結可以包括一個或多個參數,之間用'&'隔開。參數的順序在檔案在標準中沒有記錄。有一些參數的值對於用戶端正確解析磁力連結很重要。
   magnet:? xl = [字节大小]& dn = [文件名(已编码URL)]& xt = urn: tree: tiger: [ TTH hashBase32)]

參數[編輯]

  • dn(顯示名稱)- 檔名
  • xl(絕對長度)- 檔案位元組數
  • xt(eXact Topic)- 包含檔案雜湊函式值的URN
  • as(可接受來源) - 線上檔案的網路連結
  • xs(絕對資源)- P2P連結
  • kt(關鍵字)- 用於搜尋的關鍵字
  • mt(檔案列表)- 連結到一個包含磁力連結的元檔案 (MAGMA - MAGnet MAnifest
  • tr(Tracker位址)- BT下載的Tracker URL

留言

此網誌的熱門文章

GIMP磨皮小试-圖層,高斯模糊

Gamma校正