I’ve banned query strings
Scope of the “no query strings” stance
- The site rejects any URL containing a query string with a humorous 414 error as a protest against third parties modifying its URLs.
- Some commenters find this clever, fun, and a legitimate exercise of “my site, my rules.”
- Others see it as user-hostile: users often don’t control tracking params added by platforms, and breaking their links punishes them, not the trackers.
Are query strings “part of the URL” or safe to ignore?
- One camp argues query strings are as much part of the URI as the path; adding or stripping parameters from someone else’s URL is undefined behavior.
- They note that returning 400/404/414 for unexpected parameters is spec-compliant and historically common (e.g., old CGI-style routing via
index.php?p=...). - Another camp stresses the de facto norm: many systems tolerate extra params, and this flexibility has been useful; strict rejection can conflict with the web’s loosely coupled design.
HTTP semantics and status codes
- Debate over which status is most appropriate: 400 (bad request), 404 (resource with that exact URL doesn’t exist), 414 (abused here “for comedy”), 204 (empty but successful), 418 (joke), 451 (contractual refusal).
- Discussion of how 4xx codes are interpreted by clients, APIs, caches, and monitoring tools.
- Broader critique of Postel’s robustness principle: lenient acceptance has led to ambiguity, security issues, and interoperability pain.
Tracking, privacy, and etiquette
- Many dislike UTM/fbclid-style parameters: privacy concerns, circumvention of Referer controls, huge unreadable URLs, and poor UX when sharing links.
- Others defend referral params as lightweight, anonymous attribution critical for newsletters, campaigns, and partnership discovery—especially when Referer headers are stripped.
- Strong norm proposed by some: do not add tracking params to other people’s URLs; if you need tracking, use your own domains, logs, or distinct URLs.
Legitimate uses of query strings
- Widely agreed valid uses: search, filters, sorting, SPA state, shareable dashboard configurations, non-hierarchical options.
- Some note alternatives (path-only routing, fragments, headers), but many argue query strings remain the clearest, most user-visible mechanism.
Related side topics
- Wander Console is described as a directed-graph “web ring 2.0” with randomized exploration from all discovered nodes, not a pure random walk.
- Various low-level details discussed: CDN handling of repeat params, URL semantics/encoding, ad blockers stripping known tracking params, and tooling like “Copy Clean Link.”