June 4, 2026

Percent sign? More like percent crime

IPv6 zones in URLs are a mistake

Even coders are begging to stop this weird internet address mess

TLDR: The article says a strange kind of local internet address becomes a mess inside web links because even the percent sign has to be specially encoded. Commenters responded with panic, jokes, and blame for Go, Windows, and IPv6 itself — proof that tiny standards quirks can create huge real-world headaches.

A seemingly tiny web-address quirk has sent the comment section into full "absolutely not" mode. The post argues that a special kind of local IPv6 address — basically a modern internet number with an extra tag telling your computer which network connection to use — turns into a total circus when you try to put it in a URL. What should look straightforward suddenly needs an extra encoded percent sign just to be read correctly. And the crowd’s verdict? This is cursed.

The loudest reaction wasn’t calm debate — it was pure exasperation. One commenter roasted the Go programming language with a brutal drive-by: "Nothing is more idiomatic Go than ignoring inconvenient edge cases", instantly turning a networking complaint into a language-war side quest. Another dragged Windows into the mess, complaining that interface numbers can change after a reboot, forcing them to rewrite config files every startup. That’s the kind of sentence that makes infrastructure people stare into the middle distance.

The funniest meltdown came from readers realizing just how many layers of punctuation are involved: brackets, colons, percent signs, and then encoding the percent sign itself. One person basically said their heart started racing halfway through the explanation, which honestly became the thread’s mascot mood. There was even a mini rebellion against IPv6’s whole visual style, with a commenter wishing internet addresses had just stayed with dots. Meanwhile, one skeptic asked whether normal people ever even use these local-only addresses in links. But that only made the vibe sharper: even if it’s niche, when it breaks, it breaks in the most ridiculously hard-to-read way possible. The article is about a standards problem, but the real headline is the community screaming, laughing, and trauma-bonding over it.

Key Points

  • IPv6 link-local addresses in the `fe80::/` range require scope or zone identifiers to disambiguate interfaces on the same machine.
  • On Linux, a zoned link-local address can be written as `fe80::4%eth0`, while Windows uses an interface ID format.
  • IPv6 literals with ports are enclosed in brackets, so a zoned address with a port appears as `[fe80::4%eth0]:80` outside URL parsing.
  • Go's `net/url` rejects `http://[fe80::4%eth0]:80` because `%` is treated as the start of percent-encoding and triggers an invalid escape error.
  • Encoding the percent sign as `%25`, as in `http://[fe80::4%25eth0]:80`, allows Go to parse the URL and recover the hostname correctly.

Hottest takes

"Nothing is more idiomatic Go than ignoring inconvenient edge cases" — ghhhibhc
"I really do wish they'd just stuck with dots" — yjftsjthsd-h
"my heart start to beat really fast and I started to hyperventilate" — epistasis
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.