Passa al contenuto principale

6. Serializing Origins (Serializzazione delle origini)

6. Serializing Origins (Serializzazione delle origini)

Questa sezione definisce come serializzare un'origine in una stringa Unicode [Unicode6] e in una stringa ASCII [RFC20].

6.1 Unicode Serialization of an Origin (Serializzazione Unicode di un'origine)

La serializzazione Unicode di un'origine è il valore restituito dal seguente algoritmo:

  1. Se l'origine non è una tripla schema/host/porta, restituire la stringa

    null

    (cioè la sequenza di code point U+006E, U+0075, U+006C, U+006C) e interrompere questi passaggi.

  2. Altrimenti, sia result la parte schema della tripla dell'origine.

  3. Aggiungere la stringa "://" a result.

  4. Aggiungere ciascun componente della parte host della tripla dell'origine (convertito come segue) a result, separati da code point U+002E FULL STOP ("."):

    1. Se il componente è un A-label, utilizzare invece il corrispondente U-label (vedere [RFC5890] e [RFC5891]).

    2. Altrimenti, utilizzare il componente testualmente.

  5. Se la parte porta della tripla dell'origine è diversa dalla porta predefinita per il protocollo dato dalla parte schema della tripla dell'origine:

    1. Aggiungere un code point U+003A COLON (":") e la porta data, in base dieci, a result.
  6. Restituire result.

6.2 ASCII Serialization of an Origin (Serializzazione ASCII di un'origine)

La serializzazione ASCII di un'origine è il valore restituito dal seguente algoritmo:

  1. Se l'origine non è una tripla schema/host/porta, restituire la stringa

    null

    (cioè la sequenza di code point U+006E, U+0075, U+006C, U+006C) e interrompere questi passaggi.

  2. Altrimenti, sia result la parte schema della tripla dell'origine.

  3. Aggiungere la stringa "://" a result.

  4. Aggiungere la parte host della tripla dell'origine a result.

  5. Se la parte porta della tripla dell'origine è diversa dalla porta predefinita per il protocollo dato dalla parte schema della tripla dell'origine:

    1. Aggiungere un code point U+003A COLON (":") e la porta data, in base dieci, a result.
  6. Restituire result.