HTTP Is Not Simply

9 bigblind 2 8/8/2025, 9:46:35 AM daniel.haxx.se ↗

Comments (2)

bediger4000 · 1h ago
Interesting and valid points.

The complexity issues seem to happen with every networking protocol that I've seen "grow up", even those designed explicitly for simplicity, like TFTP. The fabled "xmodem" protocol is a great example, starting as a ridiculously naive call and response, sprouting some error correction (xmodem CRC), then getting improvements, morphing into "ymodem" and "zmodem". Is this a modality for software in general, or just for "feral" software, where the spec or source code escapes into the wild, then lots of people "port" it, "improve" it or otherwise tinker with it, and there's some kind of fitness function that determines survival?

colejohnson66 · 1m ago
I think a big problem is that text-based protocols are hard. People think they're "simple" but they're not — it's a lie. Text is one of the hardest things to get right, but Eurocentrism (read: ASCII) leads many to write bad parsers.

For starters, there's typically no strict delineations. For HTTP, people see "ends in a new line" and forget to consume the CR or even send it — because CR is a "Windowsism" or whatever. Then people need to modify their software to accept buggy transmissions, and it snowballs.

Take HTML for example. It's a mess of hacks to parse it because programs 20 years ago took shortcuts. Those shortcuts make bad content "work" accidentally, so people start depending on them.

Text-based parsers are decievingly hard, but programmers don't want to admit it.