我们如何在ATOM文档中生成良好的ID?
时间:2020-03-06 14:53:51 来源:igfitidea点击:
显然,使用URL不好,为什么会这样,又如何生成一个好的URL?
解决方案
使用GUID作为ID。
取决于我们使用哪种语言,但是我们可以使用
.NET的System.Guid。
马克·皮尔格里姆(Mark Pilgrim)的文章如何在Atom中获得良好的ID是件好事。这是其中的一部分:
Why you shouldn’t use your permalink as an Atom ID It’s valid to use your permalink URL as your <id>, but I discourage it because it can create confusion about which element should be treated as the permalink. Developers who don’t read specs will look at your Atom feed, and they see two identical pieces of information, and they pick one and use it as the permalink, and some of them will pick incorrectly. Then they go to another feed where the two elements are not identical, and they get confused. In Atom, <link rel="alternate"> is always the permalink of the entry. <id> is always a unique identifier for the entry. Both are required, but they serve different purposes. An entry ID should never change, even if the permalink changes. “Permalink changes”? Yes, permalinks are not as permanent as you might think. Here’s an example that happened to me. My permalink URLs were automatically generated from the title of my entry, but then I updated an entry and changed the title. Guess what, the “permanent” link just changed! If you’re clever, you can use an HTTP redirect to redirect visitors from the old permalink to the new one (and I did). But you can’t redirect an ID. The ID of an Atom entry must never change! Ideally, you should generate the ID of an entry once, and store it somewhere. If you’re auto-generating it time after time from data that changes over time, then the entry’s ID will change, which defeats the purpose.