Annexe B. Modifications par rapport à la RFC 2141
Le présent document apporte des modifications substantielles à la syntaxe et à la sémantique de [RFC2141] :
B.1. Modifications syntaxiques par rapport à la RFC 2141
La syntaxe des URN telle que fournie dans [RFC2141] a été définie avant la spécification mise à jour des URI dans [RFC3986]. La définition de la syntaxe URN est mise à jour dans le présent document afin de faire ce qui suit :
-
Garantir la cohérence avec la syntaxe URI.
-
Faciliter l'utilisation d'URN avec des paramètres similaires aux requêtes et aux fragments d'URI.
-
Permettre des paramètres influençant la résolution des URN.
-
Faciliter l'utilisation d'URN avec des systèmes d'identificateurs non-URN qui comprennent le caractère "/".
En particulier, la présente spécification fait ce qui suit :
-
Elle étend la syntaxe URN pour autoriser explicitement les caractères "/", "?" et "#", qui étaient réservés à un usage futur par la RFC 2141. Cette modification permet également de fait d'utiliser plusieurs composants de la syntaxe URI, sans nécessairement lier ces composants à la sémantique URI.
-
Elle définit une syntaxe générale pour un composant supplémentaire pouvant être utilisé dans les interactions avec un service de résolution d'URN.
-
Elle interdit "-" à la fin du NID.
-
Elle autorise les caractères "/", "~" et "&" dans le NSS.
-
Elle apporte plusieurs ajustements syntaxiques mineurs.
B.2. Autres modifications par rapport à la RFC 2141
-
Enregistre formellement "urn" comme schéma d'URI.
-
Autorise ce que l'on appelle désormais les r-component, q-component et f-component.
En outre, une partie du texte a été mise à jour pour être cohérente avec la définition des URI [RFC3986] et les processus d'enregistrement d'informations auprès de l'IANA [RFC5226], ainsi qu'avec des recommandations plus modernes en matière de sécurité [RFC3552], de vie privée [RFC6973] et de comparaison d'identificateurs [RFC6943].