6. Serializing Origins (Sérialisation des origines)
6. Serializing Origins (Sérialisation des origines)
Cette section définit comment sérialiser une origine en une chaîne Unicode [Unicode6] et en une chaîne ASCII [RFC20].
6.1 Unicode Serialization of an Origin (Sérialisation Unicode d'une origine)
La sérialisation Unicode d'une origine est la valeur retournée par l'algorithme suivant:
-
Si l'origine n'est pas un triplet schéma/hôte/port, alors retourner la chaîne
null(c'est-à-dire, la séquence de points de code U+006E, U+0075, U+006C, U+006C) et abandonner ces étapes.
-
Sinon, soit
resultla partie schéma du triplet d'origine. -
Ajouter la chaîne "://" à
result. -
Ajouter chaque composant de la partie hôte du triplet d'origine (converti comme suit) à
result, séparés par des points de code U+002E FULL STOP ("."):-
Si le composant est un A-label, utiliser le U-label correspondant à la place (voir [RFC5890] et [RFC5891]).
-
Sinon, utiliser le composant tel quel.
-
-
Si la partie port du triplet d'origine est différente du port par défaut pour le protocole donné par la partie schéma du triplet d'origine:
- Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à
result.
- Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à
-
Retourner
result.
6.2 ASCII Serialization of an Origin (Sérialisation ASCII d'une origine)
La sérialisation ASCII d'une origine est la valeur retournée par l'algorithme suivant:
-
Si l'origine n'est pas un triplet schéma/hôte/port, alors retourner la chaîne
null(c'est-à-dire, la séquence de points de code U+006E, U+0075, U+006C, U+006C) et abandonner ces étapes.
-
Sinon, soit
resultla partie schéma du triplet d'origine. -
Ajouter la chaîne "://" à
result. -
Ajouter la partie hôte du triplet d'origine à
result. -
Si la partie port du triplet d'origine est différente du port par défaut pour le protocole donné par la partie schéma du triplet d'origine:
- Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à
result.
- Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à
-
Retourner
result.