KURZLINK-ROUTING-DOSSIER / REDIRECT-LEDGER

Ein öffentliches Webziel hinter einer kurzen /s-Route protokollieren

Eine HTTP- oder HTTPS-URL im Editor übermitteln. Der Server wendet assertPublicHttpUrl an, schließt lokale und private Ziele aus und speichert bei erfolgreicher Erstellung das normalisierte Ziel. Ein öffentlich wirkendes Ziel sagt nicht, dass jedes öffentliche Ziel angenommen, erreichbar oder später unverändert ist.

URL-Kürzer öffnen

Kurzlink-Routing-Dossier

01 · ZIELÜBERMITTLUNG

HTTP- oder HTTPS-URL → assertPublicHttpUrl → normalisierter Wert wird nach erfolgreicher Erstellung gespeichert.

02 · CODE-EINTRAG

Zufallscode oder akzeptierter Alias wird zum Kurzcode-Datensatz.

03 · AUFLÖSUNGSPFAD

GET /s/:shortCode → getOriginalUrl → 301 zum gespeicherten Ziel, wenn es zurückgegeben wird.

Das gespeicherte Ziel wird bei der Auflösung erneut geprüft. Ein verworfener, fehlender oder abgelaufener Datensatz liefert 404; eine Ausnahme liefert 500.

Vom übermittelten Ziel zur Redirect-Antwort

Dieses Dossier beschreibt den implementierten Speicher- und Auflösungspfad. Es beschreibt weder Zielinhalte noch Redirectketten noch eine Antwort des Ziels.

  1. 1. Ziel prüfen und normalisieren

    Die Erstellung akzeptiert nur eine HTTP- oder HTTPS-URL. assertPublicHttpUrl schließt lokale und private Netzwerkziele aus; anschließend wird der normalisierte URL-String gespeichert. Diese Prüfung ist eine Grenze, keine Aussage über jedes öffentliche Ziel.

  2. 2. Kurzcode-Datensatz schreiben

    Ohne Alias beginnt der Dienst mit sechs alphanumerischen Zeichen und prüft Kollisionen bis zu zehnmal; am Grenzpunkt wird ein achtstelliger Code erzeugt. Das Verfahren begründet keine absolute Eindeutigkeit.

  3. 3. Die /s-Route auflösen

    GET /s/:shortCode ruft getOriginalUrl auf. Ablauf wird geprüft und assertPublicHttpUrl erneut auf das gespeicherte Ziel angewandt. Ein zurückgegebenes Ziel erhält 301; fehlende, abgelaufene oder verworfene Datensätze erhalten 404, außer bei einer Ausnahme mit 500.

Code-Grammatik und Ablauf-Eingabe

Die optionalen Felder werden mit dem Kurzlink-Datensatz gespeichert. Sie schaffen keine Oberfläche zur Bearbeitung oder Fristverwaltung.

ZUFALL — Sechs, dann acht bei Erreichen der Suchgrenze

Der anfängliche Code enthält sechs Buchstaben oder Ziffern. Die Kollisionsprüfung kann bis zu zehn Versuche machen; der Grenzpfad erzeugt acht Zeichen.

ALIAS — 3–50 Buchstaben, Ziffern oder Bindestriche

Ein Alias muss dieser Grammatik entsprechen. Ein bereits vorhandener Code wird abgewiesen statt neu zugeordnet.

ABLAUF — Optional gespeichertes Datum

Ein optionaler Ablauf wird gespeichert. Liegt seine Zeit in der Vergangenheit, liefert getOriginalUrl null und der /s-Endpunkt 404.

Auflösungsstatus ist ein enger Routingbefund

Der Endpunkt hat nur den folgenden Antwortpfad. Er trifft keine Aussage zu Zielinhalten, Redirectketten oder einer Antwort des Ziels.

301 — Zurückgegebenes Ziel

Wenn getOriginalUrl das gespeicherte Ziel nach seinen Prüfungen zurückgibt, sendet GET /s/:shortCode einen 301-Redirect an diese URL.

404 — Kein auflösbarer Datensatz

Ein fehlender Code, ein abgelaufener Datensatz oder ein bei der erneuten Prüfung verworfenes gespeichertes Ziel führt zu 404.

500 — Ausnahmepfad

Tritt auf der Route eine Ausnahme auf, sendet sie 500. Das ist vom 404-Ergebnispfad getrennt.

Gespeicherter Zähler und Eigentümergrenze

Der gespeicherte Datensatz enthält ein clicks-Feld und bei authentifiziertem Kontext eine userId. Dies sind enge Datensatzverhalten.

CLICKS +1 — Ein Inkrement nach erfolgreichem Redirect

Jeder erfolgreiche Redirect erhöht das gespeicherte clicks-Feld um eins.

EIN ZÄHLER — Kein Besucher- oder Kampagnenbericht

Das clicks-Feld ist nur ein gespeicherter Zähler; daraus folgt keine weitergehende Aussage.

EIGENTÜMER — Verwaltung ist an authentifizierte Eigentümerschaft gebunden

Erstellen ist öffentlich. Mit authentifiziertem Kontext wird userId gespeichert; list liefert nur dessen Links und delete verlangt dieselbe userId. Ohne diesen Kontext funktioniert Erstellen, list liefert jedoch keine verwaltbaren eigenen Links.

Browser-Ausgabe nach Erstellung

Nach erfolgreicher Erstellung erzeugt der Browser für die zurückgegebene Kurz-URL eine QR-Data-URL mit 300px und Rand 2. Der Editor bietet außerdem Kopieren und PNG-Download. Die QR-Ausgabe stellt diesen zurückgegebenen Pfad dar, ohne Aussage zum Scannen oder Fortbestand.

Umfangshinweise zu diesem Routing-Datensatz

  • Nur HTTP- und HTTPS-Zieleingaben erreichen die Serverprüfung.
  • Ein öffentlich wirkendes Ziel kann dennoch abgewiesen werden, nicht antworten oder sich später ändern.
  • Zu Zielinhalten oder späteren Redirectpfaden wird keine Aussage getroffen.
  • Code-Erzeugung, Alias und Ablaufdatensatz haben ein begrenztes Verhalten.

Mit benachbarten Webmastertools fortfahren

Jedes verwandte Tool hat einen eigenen Eingabe- und Ergebnispfad.

  • QR-Code-Generator

    Eine QR-Darstellung für unterstützte eingegebene Daten erzeugen und das zurückgegebene Bild prüfen.

  • DNS-Abfrage

    Vom konfigurierten Resolverpfad zurückgegebene DNS-Records lesen.

  • SSL-Prüfer

    Zertifikatsfelder aus einem begrenzten HTTPS-Handshake-Pfad protokollieren.

Fragen zur Kurzlink-Auflösung

Akzeptiert der Dienst jede öffentliche URL?

Nein. Erstellung und Auflösung rufen assertPublicHttpUrl auf und schließen lokale sowie private Ziele aus. Das Bestehen oder öffentlich wirkende Ziel belegt nicht, dass jedes öffentliche Ziel angenommen, erreichbar oder unverändert ist.

Welche Form hat eine zurückgegebene Kurz-URL?

Das Erstellungsergebnis verwendet exakt https://file-tools24.com/s/:shortCode; :shortCode wird durch den Code des Datensatzes ersetzt.

Was geschieht nach einem Ablaufzeitpunkt?

Der Ablauf wird mit dem Datensatz gespeichert. Liegt er in der Vergangenheit, liefert getOriginalUrl null und GET /s/:shortCode antwortet mit 404.

Wer kann einen erzeugten Link auflisten oder löschen?

Öffentliches Erstellen kann ohne authentifizierten Kontext erfolgen. Nur ein authentifizierter Kontext erhält über list seine eigenen Links; Löschen ist auf einen Datensatz mit derselben gespeicherten userId begrenzt.