2016-07-27 61 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信任为全局性的,从而使其有效地提供了饲料级别。

相关问题