为什么Atom(RSS)ID全球唯一,而不是本地?

时间:2016-07-27 21:27:41

标签: xml rss uuid guid atom-feed

我无法理解为什么Atom规范要求每个条目都有全局(所有时间的整个Universe)唯一ID。我知道它在技术上是可行的,但仍然不可能发生冲突吗?

如果不是偶然的,肯定会发生恶意碰撞。我可以选择一篇纽约时报的文章,并在我的恶搞网站文章中id entry。从而使所服务的任何功能无效,并可能造成损害。

为什么不只是拥有Feed的唯一网址,这很容易/安全,因为它由DNS集中确认,然后在每个Feed中都有本地唯一ID。保持他们自己的非碰撞ID方案符合该作者的最佳利益,即使它们发生碰撞,也不会影响其他网站的独特性。

请解释:)

相关问题 - 如果每个link中都有entry字段,为什么规范建议(作为一个选项)使用id字段中的链接。 Atom应该解决这些RSS不一致问题:)

2 个答案:

答案 0 :(得分:1)

  

为什么不只是拥有Feed的唯一网址,这很容易/安全,因为它由DNS集中确认,然后在每个Feed中都有本地唯一ID。

这一点在Atom规范草案中进行了讨论,并且如您所建议的那样使用URL是一个受欢迎的位置。但是,使用单独的ID可以移动提要和条目(例如,请参阅How do you generate a good ID in ATOM documents?)。

如果您更改了Feed的基本网址,则需要更改所有条目ID或确保旧网址的重定向到位。如果您不再控制原始网站,这可能是不可能的。

  

如果每个link中都有entry字段,为什么规范建议(作为一个选项)在id字段中使用link

正是因为,在搬家后,他们将不再匹配。

任何将其网址视为永久全局标识符的发布商都可以将其用作ID;通过这种方式,目前的规范旨在允许这两种行为。

  

如果不是偶然的,肯定会发生恶意碰撞。

理论上,这允许提要阅读器将出现在多个提要中的项目视为相同。在实践中,我不太了解那些信任ID为全局的软件,这使得它们有效地保持了饲料级别。

答案 1 :(得分:0)

UUID提供了一种具有非冲突全局标识符的机制;见RFC4122。

这允许不同的提要(或作者)谈论相同的事情。然而,这不是一项安全措施;正如你所指出的那样,人们可以断言一些不正确的事情。