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.”