Zum Hauptinhalt springen

8. ServiceMode RR-Kompatibilität und obligatorische Schlüssel

In einem ServiceMode RR wird ein SvcParamKey als "obligatorisch" betrachtet, wenn der RR für Clients, die diesen SvcParamKey ignorieren, nicht korrekt funktioniert. Jedes SVCB-Protokoll-Mapping sollte eine Reihe von Schlüsseln angeben, die "automatisch obligatorisch" sind, d.h. obligatorisch, wenn sie in einem RR vorhanden sind. Der SvcParamKey "mandatory" wird verwendet, um alle obligatorischen Schlüssel für diesen RR anzugeben, zusätzlich zu allen automatisch obligatorischen Schlüsseln, die vorhanden sind.

Ein ServiceMode RR wird von einem Client als "kompatibel" betrachtet, wenn der Client alle obligatorischen Schlüssel erkennt und deren Werte darauf hinweisen, dass eine erfolgreiche Verbindungsherstellung möglich ist. Inkompatible RRs werden ignoriert (siehe Schritt 5 der in Abschnitt 3 definierten Prozedur).

Der Präsentationswert muss eine durch Kommas getrennte Liste von einem oder mehreren gültigen SvcParamKeys sein, entweder durch ihren registrierten Namen oder im unbekannten Schlüsselformat (Abschnitt 2.1). Schlüssel können in beliebiger Reihenfolge erscheinen, dürfen aber nicht mehr als einmal vorkommen. Für Selbstkonsistenz (Abschnitt 2.4.3) müssen aufgelistete Schlüssel auch in den SvcParams erscheinen.

Um eine einfachere Analyse zu ermöglichen, darf dieser SvcParamValue keine Escape-Sequenzen enthalten.

Der Wire-Format-Wert ist die Verkettung des numerischen Werts jedes Schlüssels in Netzwerk-Byte-Reihenfolge ohne interne Auffüllung.

Zum Beispiel hätte ein ServiceMode RR mit den Schlüsseln alpn, port und einem hypothetischen neuen Schlüssel foo (SvcParamKey=54321) einen mandatory-Wert von "mandatory=alpn,port,foo" im Präsentationsformat. Im Wire-Format würde dies als folgende Oktette dargestellt:

00 01 00 03 d4 31

(Im obigen Beispiel repräsentiert "00 01" den numerischen Wert von "alpn", "00 03" repräsentiert den numerischen Wert von "port", und "d4 31" repräsentiert den numerischen Wert 54321 in Netzwerk-Byte-Reihenfolge.)