2016-07-27 64 views
2

我無法理解爲什麼Atom規範要求每個條目都有一個全局的(整個宇宙都是唯一的)唯一ID。我知道這在技術上是可行的,但是碰撞仍然不可能?爲什麼Atom(RSS)id的全局唯一而不是本地?

如果不是偶然的,肯定會發生惡意衝突。我可以選擇紐約時報的一篇文章,並在我的欺騙網站文章entry中提供相同的id。從而使任何功能失效,並可能造成損害。

爲什麼不只是有一個唯一的網址飼料,這是容易/安全的,因爲它由DNS集中確認,然後在每個飼料有本地唯一的ID。維護他們自己的非衝突ID的方案是最符合作者利益的,即使他們碰撞,也不會影響其他網站的唯一性。

請解釋一下:)

相關的問題 - 如果已經有一個在每一個entrylink,爲什麼規範建議(作爲一個選項)使用在id領域的鏈接。原子應該解決這些RSS不一致:)

回答

0

UUID提供了一種機制,使非衝突,全局標識符;請參閱RFC4122。

這允許不同的提要(或作者)談論同樣的事情。然而,這不是一種安全措施;正如你指出的那樣,人們可以斷言某些不真實的東西。

1

爲什麼不只是有飼料,這是很容易/安全的,因爲它是由中央DNS確認,然後每個飼料中有本地唯一ID的唯一的URL。

在Atom規範草案中討論了這一點,並且您建議使用的URL是一個受歡迎的位置。但是,使用單獨的ID允許提要和條目移動(例如,請參見How do you generate a good ID in ATOM documents?)。

如果您更改Feed的基本網址,則需要更改所有條目ID或確保舊網址的重定向已到位。如果你不再控制原始網站,這可能是不可能的。

是否已存在於每一個entrylink,爲什麼規範建議(作爲一個選項)在ID字段使用link

確切的原因是,移動後他們不再匹配。

任何將其URL視爲永久全局標識符的發佈者可以自由使用它們作爲ID;通過這種方式,目前的規範旨在允許這兩種行爲。

如果不是偶然的,肯定會發生惡意衝突。

理論上,這允許供稿閱讀器將出現在多個供稿中的項目視爲相同。實際上,我並不知道有太多的軟件將ID信任爲全局性的,從而使其有效地提供了飼料級別。

相關問題