Zum Inhalt springen
Sprache: DE

Warum werden URL-Präfixe auf einem Tag abgekürzt?

Das URI-Datensatzformat ersetzt ein übliches Präfix wie https oder ein Mail-Schema durch ein einziges Kennungsbyte und legt nur den Rest der Adresse ab. Das spart auf jedem Tag mehrere Bytes, es bleibt im normalen Gebrauch gänzlich unsichtbar, und es erklärt, warum ein roher Abzug eines Tags eine verkürzte Adresse zeigt.

Was das Format tatsächlich ablegt

Ein URI-Datensatz beginnt mit einem Byte, das ein Präfix aus einer festen Liste benennt, und hält danach den Rest der Adresse als gewöhnliche Zeichen.

Eine Adresse, die mit einem üblichen Schema beginnt, legt diese Zeichen also gar nicht ab. Das Lesegerät schlägt das Präfix über das Byte nach und setzt die vollständige Adresse wieder zusammen, bevor es sie dem System übergibt.

Die Liste deckt die Schemata ab, die auf Tags tatsächlich vorkommen: Webadressen mit und ohne die www-Gepflogenheit, Mail, Telefon und eine Handvoll weiterer.

Warum ein paar Bytes es wert sind

Weil ein paar Bytes auf den kleinsten Tags ein nennenswerter Anteil dessen sind, was Sie haben.

Die Zeichen eines Schemas auf einem Tag mit Platz für ein paar hundert Byte Inhalt zu sparen ist ein kleiner Prozentsatz. Auf einem Tag, auf den eine URL gerade so passt, kann es der Unterschied zwischen einem gelungenen Schreibvorgang und einem Fehlschlag sein, und deshalb macht sich das Format die Mühe.

Im Gegenzug kostet es nichts. Es gibt keinen Tausch bei der Verträglichkeit, keinen Verlust an Information und nichts einzustellen.

Was Sie in einer rohen Ansicht sehen

Hier wird der Mechanismus sichtbar, und hier verwirrt er.

Ein Werkzeug, das den decodierten Datensatz zeigt, zeigt die vollständige Adresse, wie es soll. Ein Werkzeug, das rohe Bytes zeigt, zeigt die Adresse ohne ihr Schema, mit einem Byte davor, das nach Rauschen aussieht.

Eine Domain ohne https in einem Hexdump zu sehen ist daher normal und kein Zeichen dafür, dass der Tag falsch beschrieben wurde. Das Schema ist da, codiert als ein Byte statt als acht Zeichen.

Die Grenzen des Kniffs

Abgekürzt werden nur Präfixe von der Liste. Ein ungewöhnliches Schema, ein eigenes Anwendungsschema oder eine Adresse, die mit nichts von der Liste beginnt, wird vollständig abgelegt, mit dem Kennungsbyte auf dem Wert, der keine Abkürzung anzeigt.

Das zählt, wenn Sie mit einem eigenen Schema um Platz kämpfen, denn die Ersparnis, mit der Sie gerechnet haben, greift nicht. Es heißt außerdem, dass zwei Adressen gleicher sichtbarer Länge verschieden viel Speicher belegen können, je nachdem, wie sie beginnen.

Nichts davon ändert, was Sie beim Beschreiben eines Tags tun. Ein Werkzeug erledigt es, und die praktische Lehre lautet schlicht, sich nicht mehr zu beunruhigen, wenn eine rohe Ansicht falsch aussieht.

Häufige Fragen

Muss ich für die Abkürzung etwas tun?

Nein. Jedes Werkzeug, das einen URI-Datensatz schreibt, wendet sie von selbst an, wenn die Adresse mit einem erkannten Präfix beginnt, und Lesegeräte kehren sie genauso von selbst um.

Warum zeigt mein Tag im Hexdump eine URL ohne https?

Weil das Schema als ein einziges Kennungsbyte abgelegt ist und nicht als Zeichen. Decodieren Sie den Datensatz, statt rohe Bytes zu lesen, und die vollständige Adresse erscheint.

Funktioniert das für eigene Anwendungsschemata?

Nur wenn das Schema auf der festen Liste steht, was eigene nicht tun. Sie werden vollständig abgelegt, ein eigenes Schema kostet also mehr Platz als ein übliches derselben sichtbaren Länge.

Kann ein Tag dadurch auf verschiedenen Telefonen verschieden wirken?

Nein. Der Mechanismus gehört zum Datensatzformat, und jedes normgerechte Lesegerät setzt ihn gleich um. Unterschiede zwischen Plattformen kommen von Datensatztypen und nicht von der Präfixcodierung.