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:
-
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.
-
Andernfalls sei
resultder Schema-Teil des Ursprungs-Tripels. -
Hänge die Zeichenkette "://" an
resultan. -
Hänge jede Komponente des Host-Teils des Ursprungs-Tripels (wie folgt konvertiert) an
resultan, getrennt durch U+002E FULL STOP-Codepunkte ("."):-
Wenn die Komponente ein A-Label ist, verwende stattdessen das entsprechende U-Label (siehe [RFC5890] und [RFC5891]).
-
Andernfalls verwende die Komponente wörtlich.
-
-
Wenn der Port-Teil des Ursprungs-Tripels vom Standardport für das durch den Schema-Teil des Ursprungs-Tripels angegebene Protokoll abweicht:
- Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an
resultan.
- Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an
-
Gib
resultzurü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:
-
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.
-
Andernfalls sei
resultder Schema-Teil des Ursprungs-Tripels. -
Hänge die Zeichenkette "://" an
resultan. -
Hänge den Host-Teil des Ursprungs-Tripels an
resultan. -
Wenn der Port-Teil des Ursprungs-Tripels vom Standardport für das durch den Schema-Teil des Ursprungs-Tripels angegebene Protokoll abweicht:
- Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an
resultan.
- Hänge einen U+003A COLON-Codepunkt (":") und den angegebenen Port in Basis zehn an
-
Gib
resultzurück.