SHORT-LINK ROUTING DOCKET / REDIRECT LEDGER

Record a public web target behind one short /s route

Submit an HTTP or HTTPS URL to the editor. The server applies assertPublicHttpUrl, excludes local and private targets, and stores the normalized target when creation succeeds. A public-looking target is not a statement that every public destination is accepted, reachable, or unchanged later.

Open URL Shortener

Short-link routing docket

01 · TARGET SUBMISSION

HTTP or HTTPS URL → assertPublicHttpUrl → normalized value stored after a successful creation.

02 · CODE ENTRY

Random code or accepted alias becomes the short-code record.

03 · RESOLUTION PATH

GET /s/:shortCode → getOriginalUrl → 301 to the stored target when it is returned.

The stored target is checked again at resolution. A rejected, missing, or expired record returns 404; an exception returns 500.

From submitted target to redirect response

This docket describes the implemented storage and resolution path. It does not describe the target’s content, any redirect chain, or whether a target will answer.

  1. 1. Check and normalize the target

    Creation accepts an HTTP or HTTPS URL only. assertPublicHttpUrl excludes local and private network targets, then the normalized URL string is stored. That check is a boundary, not a statement about every public destination.

  2. 2. Write a short-code record

    Without an alias, the service starts with six alphanumeric characters and checks collisions for up to ten attempts; at that point it generates an eight-character code. This procedure does not establish an absolute uniqueness result.

  3. 3. Resolve the /s route

    GET /s/:shortCode calls getOriginalUrl. It checks expiry and calls assertPublicHttpUrl again on the stored target. A returned target receives a 301 redirect; missing, expired, or rejected records receive 404, except an exception receives 500.

Code grammar and expiry entry

The optional fields are stored with the short-link record. They do not create an editing or deadline-management interface.

RANDOM — Six, then eight if the search reaches its boundary

The initial generated code has six letters or digits. Collision checking can make up to ten attempts; the boundary path creates an eight-character code.

ALIAS — 3–50 letters, numbers, or hyphens

An alias must match that grammar. A code already present is refused rather than reassigned.

EXPIRY — Optional stored date

An optional expiry is stored. Once its time is in the past, getOriginalUrl returns null and the /s endpoint responds with 404.

Resolution status is a narrow routing result

The endpoint has only the following response path. It makes no statement about destination content, redirect chains, or a destination’s response.

301 — Returned target

When getOriginalUrl returns the stored target after its checks, GET /s/:shortCode sends a 301 redirect to that URL.

404 — No resolvable record

A missing code, an expired record, or a stored target rejected during the renewed public-target check yields 404.

500 — Exception path

If the route encounters an exception, it sends 500. This is separate from the 404 result path.

Stored counter and ownership boundary

The stored record contains a clicks field and, when creation has an authenticated context, a userId. These are narrow record behaviors.

CLICKS +1 — One increment after a successful redirect

Each successful redirect increments the stored clicks field by one.

ONE COUNTER — Not a visitor or campaign report

The clicks field is only a stored count; no inference follows from it.

OWNER — Management is tied to authenticated ownership

Creation is public. With an authenticated context, userId is stored; list returns only that user’s links and delete requires the same userId. Without that context, creation still works, but list returns no manageable own links.

Browser output after creation

After a successful creation, the browser makes a QR data URL for the returned short URL at 300px with margin 2. The editor also offers copying and PNG download. The QR output is a representation of that returned path, not a scan or persistence statement.

Scope notes for this routing record

  • Only HTTP and HTTPS target input enters the server check.
  • A public-looking target can still be refused, fail to answer, or change later.
  • No statement is made about destination content or any subsequent redirect path.
  • Code generation, aliases, and expiry records have bounded behavior.

Continue with adjacent webmaster tools

Each related tool has a separate input and result path.

  • QR Code Generator

    Create a QR representation for supported entered data and inspect the returned image.

  • DNS Lookup

    Read DNS records returned by the configured resolver path.

  • SSL Checker

    Record certificate fields from one bounded HTTPS handshake path.

Questions about short-link routing

Does the service accept every public URL?

No. Creation and resolution call assertPublicHttpUrl and exclude local and private targets. Passing or appearing public does not establish that every public target is accepted, reachable, or unchanged.

What form does a returned short URL have?

The creation result uses exactly https://file-tools24.com/s/:shortCode, with the record’s code in place of :shortCode.

What happens after an expiry time?

The expiry is stored with the record. When it is in the past, getOriginalUrl returns null and GET /s/:shortCode responds with 404.

Who can list or delete a created link?

Public creation can occur without an authenticated context. Only an authenticated context receives its own links from list, and deletion is limited to a record with the same stored userId.