Zum Hauptinhalt springen

6. Serializing Origins (Serialisierung von Ursprüngen)

6. Serializing Origins (Serialisierung von Ursprüngen)

Dieser Abschnitt definiert, wie ein Ursprung in eine Unicode [Unicode6]-Zeichenkette und in eine ASCII [RFC20]-Zeichenkette serialisiert wird.

6.1 Unicode Serialization of an Origin (Unicode-Serialisierung eines Ursprungs)

Die Unicode-Serialisierung eines Ursprungs ist der vom folgenden Algorithmus zurückgegebene Wert:

  1. Wenn der Ursprung kein Schema/Host/Port-Tripel ist, dann gib die Zeichenkette zurück

    null

    (d.h. die Codepunkt-Sequenz U+006E, U+0075, U+006C, U+006C) und breche diese Schritte ab.

  2. Andernfalls sei result der Schema-Teil des Ursprungs-Tripels.

  3. Hänge die Zeichenkette "://" an result an.

  4. Hänge jede Komponente des Host-Teils des Ursprungs-Tripels (wie folgt konvertiert) an result an, getrennt durch U+002E FULL STOP-Codepunkte ("."):

    1. Wenn die Komponente ein A-Label ist, verwende stattdessen das entsprechende U-Label (siehe [RFC5890] und [RFC5891]).

    2. Andernfalls verwende die Komponente wörtlich.

  5. Wenn der Port-Teil des Ursprungs-Tripels vom Standardport für das durch den Schema-Teil des Ursprungs-Tripels angegebene Protokoll abweicht:

    1. Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an result an.
  6. Gib result zurück.

6.2 ASCII Serialization of an Origin (ASCII-Serialisierung eines Ursprungs)

Die ASCII-Serialisierung eines Ursprungs ist der vom folgenden Algorithmus zurückgegebene Wert:

  1. Wenn der Ursprung kein Schema/Host/Port-Tripel ist, dann gib die Zeichenkette zurück

    null

    (d.h. die Codepunkt-Sequenz U+006E, U+0075, U+006C, U+006C) und breche diese Schritte ab.

  2. Andernfalls sei result der Schema-Teil des Ursprungs-Tripels.

  3. Hänge die Zeichenkette "://" an result an.

  4. Hänge den Host-Teil des Ursprungs-Tripels an result an.

  5. Wenn der Port-Teil des Ursprungs-Tripels vom Standardport für das durch den Schema-Teil des Ursprungs-Tripels angegebene Protokoll abweicht:

    1. Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an result an.
  6. Gib result zurück.