Aller au contenu principal

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:

  1. 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.

  2. Sinon, soit result la partie schéma du triplet d'origine.

  3. Ajouter la chaîne "://" à result.

  4. 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 ("."):

    1. Si le composant est un A-label, utiliser le U-label correspondant à la place (voir [RFC5890] et [RFC5891]).

    2. Sinon, utiliser le composant tel quel.

  5. 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:

    1. Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à result.
  6. 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:

  1. 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.

  2. Sinon, soit result la partie schéma du triplet d'origine.

  3. Ajouter la chaîne "://" à result.

  4. Ajouter la partie hôte du triplet d'origine à result.

  5. 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:

    1. Ajouter un point de code U+003A COLON (":") et le port donné, en base dix, à result.
  6. Retourner result.