- From: Ethan Davidson <ethan.r.davidson@gmail.com>
- Date: Sun, 2 Nov 2025 13:31:54 -0800
- To: ietf-http-wg@w3.org
- Message-ID: <CAHoCOg-xQ3qubbYJ1bm7wo4qaxYYXALV=czpC7+OwEtNSK=D8Q@mail.gmail.com>
---------- Forwarded message --------- From: Ethan Davidson <ethan.r.davidson@gmail.com> Date: Sun, Nov 2, 2025 at 1:27 PM Subject: Request for feedback on draft-go-protocol (shortlink resolution) To: <http-wg@ietf.org> Cc: mnot@mnot.net <mnot@mnot.net>, <tpauly@apple.com> Hello http-wg, I'm Ethan Davidson, and I'd like to introduce a new Internet-Draft that I've submitted. This is not only a new draft, but also my first Internet-Draft. The Problem: Implementations resolve shortlinks inconsistently, especially with query parameters and internal redirects. Without a standardized resolution algorithm, different implementations may resolve the same shortlink to different destinations or handle edge cases inconsistently, leading to interoperability issues. A key motivation for this draft is the quality of life improvement it provides: with this standardized algorithm, organizations can define their entire shortlink configuration as a simple Record<string, string> (or equivalent key-value representation), making shortlink management straightforward and portable across different implementations, languages, and platforms. The Draft: I've submitted draft-go-protocol-00, "A Deterministic Algorithm for Resolving Shortlinks with Internal Redirects," which can be found at: https://datatracker.ietf.org/doc/draft-go-protocol/ The Solution: This draft specifies a deterministic algorithm for resolving shortlinks that supports longest-prefix key matching to enable hierarchical shortlink structures, handles both absolute URL destinations and origin-relative internal redirects, provides loop protection for internal redirect chains (limited to 256 iterations), and defines clear precedence rules for combining query parameters and fragments from multiple sources. The algorithm is designed to remain stateless and deterministic for consistent behavior across implementations, working with any ruleset source (database, file, configuration, etc.) without requiring protocol-level changes or IANA registrations. Request for Feedback: I would greatly appreciate any review and comments on this draft. In particular, I'm interested in feedback on: - The longest-prefix matching algorithm and its behavior - The query parameter and fragment precedence rules - The loop protection mechanism and determine what is an appropriate limit - Any edge cases or security considerations I may have overlooked I've also set up a GitHub repository for tracking issues and detailed, line-by-line feedback, which can be found at: https://github.com/EthanThatOneKid/go-protocol/issues/ Thank you for your consideration, and I look forward to your feedback. Best regards, Ethan Davidson https://etok.me/
Received on Tuesday, 4 November 2025 10:27:12 UTC