Skip to main content


Second time I run into a developer on itch.io who doesn't know what a #web server is and thinks they need to code a #NodeJS app to serve static files.

This is terrifying. It's the future Google wants to build, with their HTTP 2.0 and Wasm: a future when even the basics are horribly hard and not even developers know how the web works because it's all a black box.

I'm begging you: fight this. Educate people. Don't let openness die.

This entry was edited (4 months ago)
So-called "HTTP 2" is /not HTTP/ and I will die on this hill!!
@silverwizard @IceWolf That was no typo. HTTP 2 is binary. It can no longer be used in trivial ways.
@silverwizard @IceWolf Sure, if you're a pro web developer with the time and energy to dig. If it was like that in 1999, Google wouldn't exist. This is called "pulling the ladder up after you got on top".

@silverwizard Yeah, exactly.

And as for "but efficiency!!!" – if it worked on 1990s computers, it works more than fine now on our vastly faster, vastly higher bandwidth ones.

Text-based protocols are GOOD, not Evil that Should Be Replaced.

And there's transfer encoding, that should allow compressing the data stream

@LunaDragofelis @silverwizard Forgot that, yeah! =^.^=

And if you need to do multiple whatsis, uhhhhhh, requests, Connection: keep-alive :3

@LunaDragofelis @silverwizard Text also has another big benefit I just thought of now! It's super easy to ignore unknown headers.
@silverwizard @IceWolf i mean, just import libcurl. you don't implement tcp yourself so i don't see using a HTTP library that will likely be 100x better than whatever you will write isn't too offensive

@tay @silverwizard You're missing the point.

The point is that with text protocols, you don't HAVE to use a thing somebody else already wrote.

And besides, someone had to write libcurl in the first place.

Binary just makes shit difficult for literally no reason.

@tay @silverwizard Like, yeah, if you're just making a thing, you can absolutely use a library, that's what they're for.

But what if you're writing that library? Or testing things? Or just playing around?

@IceWolf @silverwizard yes. someone who can dedicate a lot of time can do the work of writing a good HTTP client.

H2/3 are remarkably faster than H1

@tay @silverwizard "Faster"? Meh. Not by any metric that matters.

Plain text worked in 1990 and it still works now.

@tay @silverwizard If you want to make your site faster, don't rewrite fucking HTTP, just use less ads and random cruft.
@IceWolf @silverwizard well we both know that's not happening, and H2 already exists, so why not use it. Not like H1 is going anywhere anyway 🤷

@tay @silverwizard For NOW.

What d'you think Google's plan is? Real HTTP is probably going to get "deprecated" once "everyone's on things that support HTTP 2 anyway".

@tay @silverwizard And also, being a Google power trip is a pretty good reason not to use it as well as it being a binary unapproachable mess!

(See also: webp, the other big one I can think of. There's probably other things too.)

@IceWolf @silverwizard ???????????????

You are aware the internet is decentralised? Like, Google doesn't run the entire internet. The current version for the H2 spec wasnt even authored by anyone at Google. It was Mozilla & Apple.

@tay @IceWolf @silverwizard Yes, that's what bothers them, so they're trying to snuff out all that openness.
@IceWolf @silverwizard i literally have RFC 9113 open on the computer in front of me it's hardly closed
@tay @silverwizard "publicly viewable" and "actually open to community involvement" are two different things. (Exhibit A: Android. Exhibit B: Chrome.)

@IceWolf @silverwizard again. RFC 9113 is attributed to people from Mozilla and Apple. Not Google. It is owned by the IETF, who again, is not Google.

Google does a lot of bad shit - yes, but this isn't even something to blame on them, even if H2 was a bad thing, which it's not.

@tay @IceWolf @silverwizard You... realize big tech is on all the standards committees, and effectively controls them, right?
@tay @IceWolf @silverwizard Yes, for now. Yet here you are advocating for a future where we all use premade stuff exclusively.
@IceWolf @silverwizard i'm sure you sent this message from your own ISA, running your own OS, running your own network stack, running your own client talking to your own activity pub server
@tay @silverwizard Ah yes, because "only premade stuff is feasible" and "EVERYTHING built from scratch down to the hardware" are the only two options.
@tay @silverwizard Premade stuff is good. Being able to tinker is ALSO good. They're not mutually exclusive.
@tay @silverwizard You should be ABLE to build stuff from scratch even if you don't HAVE to, and being able to is not the same thing as having to.

@IceWolf @silverwizard you can still write your own H2 server. it might be more work, but a basic implementation shouldn't be too much harder (i haven't read the spec so don't quote me on that)

and if you don't want to, just write a H1 server. that is going to go away approximately never

@tay @silverwizard

– It's pointless work that /shouldn't be there/ and /doesn't have to be there/. We already have a perfectly working stack from before Google started fucking with everything.

– I don't fucking trust "but it'll stick around!".

@tay @silverwizard Like what, you want real HTTP to be relegated to the obscurity of things like Gopher? Because yeah, technically gopher still exists, but not outside hobby circles. It's not like it's the thing you use every day already.

Plain-text real HTTP is something special. The fact that you can look at what's going on and /it's all just text/ is something special. It's not worth "oh we made things a tiny bit faster!" to lose that.

@IceWolf @silverwizard but H1 & H2 are kinda the same thing. ones just a binary transport for the same headers, status codes & data.

only 35% of the web supports H2 (and that's actually down from 40% last year). H1 isn't going away

@IceWolf @silverwizard i still have no clue where this idea that H2 is a conspiracy invented by google to sell more whatever their business and is

it exists because a plain text format is inherently slow.

@tay @silverwizard A plain text format is not inherently slow! If it was slow, they wouldn't have been using it on much-much-less-powerful 1990s computers!

And considering Google is also trying to do this with literally everything else from TCP to image formats...

(video gets a bit of a pass, but only because Fucking Software Patents; they don't have that excuse for images)

@tay @silverwizard Like, I don't know what their eventual business-model plan is either, but that doesn't mean I'm gonna trust them about it.
@IceWolf @silverwizard i'm sure they're going to put ads in the HTTP 2 handshake and you're going to be so right
@IceWolf @silverwizard why do you think specifically google is doing this? not like, the entire industry

@tay @silverwizard Yeah exactly!

Google's thing here is like. They're trying to warp the entire tech stack into whatever's best for them, screw the fact that we already have perfectly working stuff that anyone can play with.

@IceWolf @silverwizard

> Meh. Not by any metric that matters.

H2 can cut a page load time by up to half (https://css-tricks.com/http2-real-world-performance-test-analysis/)

@nasado @silverwizard You can just open a raw TCP (or TLS) socket and start typing!

You can also write servers/clients in basically anything, you don't need a preexisting library.

@IceWolf @silverwizard

Not really? First of all, textual HTTP is still very rigid compared to human-to-human communication; no novice without a guide is going to guess the incantation "GET / HTTP/1.1\r\nHost: en.wikipedia.org\r\n\r\n". I've worked with HTTP before and I still didn't get it right on my first try; I had the "HTTP/1.1" at the beginning of the line. It'd be even harder for someone who isn't good at English, since all the text in HTTP is based on English vocab.

As for writing new servers and clients... in my experience the exact opposite is true. Creating and examining samples of textual formats may be easy, but when it's time to write the code, binary is just so much simpler to work with, especially without a parsing library at hand. Not to mention that learning to read and modify other people's code is a vital skill for a programmer.

In some cases they're about the same, in others binary is nicer, but outside of dedicated string-processing languages I've never seen text protocols be easier to parse and generate programmatically.

And that's not the only thing I said, either, so.

This entry was edited (4 months ago)
@Nasado @Frost「:therian:|霜の狼|人面獣心」🐺❄️ @No Time To Play that's spurious as hell.I was taught to manually do HTTP in about 10 minutes and use that almost every week (less than once a day but definitely close to weekly)
earnest curiosity: how do you see wasm as contributing to this problem?
@chrisamaphone ...By being a binary format you need a big-ass compiler and SDK to produce?

At the same time if you want to bundle a bunch of static files, you're in for some portability hell because no browser could agree between each others on the format.

At least so far I've been able to unarchive most web-based games and launch a web server like gatling in the folder, but I can't expect everyone to be able to do the same, even on Unixes.