Zum Hauptinhalt springen

Anhang B. Bereitstellungsüberlegungen für den 'charset'-Parameter

B.1. Benutzeragenten

Benutzeragenten, die 'charset' nicht implementieren, werden wie zuvor weiterarbeiten und den neuen Parameter ignorieren.

Benutzeragenten, die bereits standardmäßig die UTF-8-Kodierung verwenden, implementieren 'charset' per Definition.

Andere Benutzeragenten können ihr Standardverhalten beibehalten und zu UTF-8 wechseln, wenn sie den neuen Parameter sehen.

B.2. Server

Server, die Nicht-US-ASCII-Zeichen in Anmeldeinformationen nicht unterstützen, benötigen keine Änderungen zur Unterstützung von 'charset'.

Server, die Nicht-US-ASCII-Zeichen unterstützen müssen, aber das UTF-8-Zeichenkodierungsschema nicht verwenden können, werden nicht betroffen sein; sie werden weiterhin genauso gut oder schlecht funktionieren wie zuvor.

Schließlich können Server, die Nicht-US-ASCII-Zeichen unterstützen müssen und das UTF-8-Zeichenkodierungsschema verwenden können, sich durch Angabe des 'charset'-Parameters in der Authentifizierungs-Challenge dafür entscheiden. Clients, die den 'charset'-Parameter verstehen, werden dann UTF-8 verwenden, während andere Clients weiterhin Anmeldeinformationen in ihrer Standardkodierung, fehlerhafte Anmeldeinformationen oder gar keine Anmeldeinformationen senden. Bis alle Clients aktualisiert wurden, um UTF-8 zu unterstützen, werden Server wahrscheinlich sowohl UTF-8 als auch "Legacy"-Kodierungen in Anfragen sehen. Wenn die Verarbeitung als UTF-8 fehlschlägt (aufgrund eines Fehlers beim Dekodieren als UTF-8 oder einer Nichtübereinstimmung von Benutzer-ID/Passwort), kann ein Server versuchen, auf die zuvor unterstützte Legacy-Kodierung zurückzugreifen, um diese Legacy-Clients zu bedienen. Beachten Sie, dass implizite Wiederholungsversuche sorgfältig durchgeführt werden müssen; beispielsweise können einige Subsysteme wiederholte Anmeldefehler erkennen und sie als potenzielle Angriffe zum Erraten von Anmeldeinformationen behandeln.

B.3. Warum nicht einfach die Standardkodierung auf UTF-8 umstellen?

Es gibt heute Sites in Verwendung, die standardmäßig ein lokales Zeichenkodierungsschema wie ISO-8859-1 ([ISO-8859-1]) verwenden und erwarten, dass Benutzeragenten diese Kodierung verwenden. Die Authentifizierung auf diesen Sites wird nicht mehr funktionieren, wenn der Benutzeragent zu einer anderen Kodierung wie UTF-8 wechselt.

Beachten Sie, dass Sites sogar das User-Agent-Header-Feld ([RFC7231], Abschnitt 5.5.3) inspizieren können, um zu entscheiden, welches Zeichenkodierungsschema sie vom Client erwarten. Daher können sie UTF-8 für einige Benutzeragenten unterstützen, aber für andere standardmäßig etwas anderes verwenden. Benutzeragenten in der letzteren Gruppe müssen weiterhin das tun, was sie heute tun, bis die Mehrheit dieser Server aktualisiert wurde, um immer UTF-8 zu verwenden.