Comment générer un bon identifiant dans les documents ATOM?
-
02-07-2019 - |
Question
Apparemment, l’URL n’est pas bon. Pourquoi est-ce le cas et comment en générez-vous un bon?
La solution
L'article de Mark Pilgrim Comment créer un bon identifiant dans Atom est bon. En voici une partie:
Pourquoi vous ne devriez pas & # 8217; ne pas utiliser votre lien permanent comme identifiant d'atome
Il & # 8217; est valide d'utiliser votre URL de lien permanent comme votre < id > ;, mais je le décourage car il peut créer une confusion à propos de quel élément doit être traité comme le lien permanent. Développeurs qui & # 8217; t ne lisent pas les spécifications examineront votre flux Atom, et ils voient deux morceaux identiques de informations, et ils en choisissent un et utilisent comme le permalien, et certains d'entre eux va choisir incorrectement. Puis ils vont à un autre flux où les deux éléments ne sont pas identiques, et ils obtiennent confus.
Dans Atom, < link rel = & "alter &"; > est toujours le permalien de l'entrée. < id > est toujours un identifiant unique pour l'entrée. Les deux sont obligatoires, mais ils servir des fins différentes. Un identifiant d'entrée ne devrait jamais changer, même si le changements de permalien.
& # 8220; Les liens permanents sont modifiés & # 8221 ;? Oui, permaliens ne sont pas aussi permanents que vous pourriez pense. Voici & # 8217; un exemple qui s'est produit pour moi. Mes URL permalien étaient généré automatiquement à partir du titre de mon entrée, mais ensuite j'ai mis à jour un entrée et a changé le titre. Deviner quoi, le & # 8220; permanent & # 8221; lien juste modifié! Si vous & # 8217; êtes malin, vous pouvez utiliser une redirection HTTP pour rediriger les visiteurs de l'ancien permalien au nouveau (et j'ai fait). Mais vous ne pouvez pas & # 8217; rediriger un ID.
L'identifiant d'une entrée Atom ne doit jamais changement! Idéalement, vous devriez générer l'identifiant d'une entrée une seule fois et le stocker quelque part. Si vous & # 8217; générez de nouveau automatiquement à maintes reprises à partir de données change avec le temps, puis l'identifiant de l'entrée & # 8217; va changer, qui vainc le but.
Autres conseils
Utilisez un GUID pour l'ID.
dépend de la langue que vous utilisez, mais vous pouvez utiliser
System.Guid pour .NET.