emma
emma wrote
Reply to comment by nitori in You know you've gone deep into being a reactionary when you find yourself asking why they introduced keepalive to HTTP by nitori
I'm not much of a fan of ditching plain text for binary, since it makes debugging more complex
I don't think this always holds true, like there was one time at work where an outgoing http request was failing in a strange way, and it took us hours to discover that the environment variable holding the URL in production contained a trailing newline, which the client library didn't pick up on. So this resulted in the following request:
POST /some/shit
HTTP/1.1
X-Some-Header: etc
some payload
If the length of the URL was known ahead of time, as would be typical with a binary protocol, the server would have known the newline was part of it, and handled it accordingly. It wouldn't be friendly as a plain text protocol, but it would make parsing the request very unambiguous and robust.
On the other hand, we see things like http/2 support in curl on Debian 12 being just broken, and the maintainer being too scared to merge the fixes from upstream due to http/2's complexity. So this cuts both ways, I suppose.
Oh, you can write a server that doesn't implement keepalive (while doing everything else 1.1) and still be 1.1-compliant? Well that's neat I suppose!
Yeah, you can just ignore the client's wish for keep-alive and send Connection: close
, according to RFC 7230. I imagine this has to be terrible if the client attempts pipelining.
This might be a cursed opinion but I do actually want all websites to be root/path-agnostic. So if you wanna host Postmill for example but you already have a separate service running in port 80/443, and can't do it in a separate domain (which would require another host in this reality) or port which would have its own root, then I should be able to put it in like /postmill instead.
I believe Postmill supports this, but I haven't tested. I think a lot of devs just ignore the possibility you'd want to host something a subpath, unfortunately.
emma wrote
Reply to You know you've gone deep into being a reactionary when you find yourself asking why they introduced keepalive to HTTP by nitori
ok so like, i've made things for the web for a very long time, including at a time before http/2 and spdy, and http/1.1 has a bunch of very annoying limitations that http/2 solved. i've also written my own http/1.1 and fastcgi servers, to give you an idea of my level of experience. while we can all agree that http/2 is a shitty protocol, and should not have been Like That, it did solve some real problems.
The big one is lack of multiplexing. your html and stylesheets and scripts and images and fonts and other assets get loaded one after the other with http/1.1, and the burden was placed on the developer to figure out the bottlenecks and speed up page loading by placing the assets on separate hosts. We had entire services dedicated to pushing your site through them to try and spot these bottlenecks, and spent a lot of effort trying to fix them. Abominable ideas like shared CDNs for javascript libraries and server-side "compilation" of css and javascript largely stem from trying to work around the lack of multiplexing. Now we can simply serve all and many assets from the same host without thinking too much about it.
FastCGI (a pseudo-http protocol for application backends) is a binary protocol and had multiplexing since it was introduced in the 90s. It is reasonably simple to implement (and I much prefer working with binary <data size> <data>
protocols to http/1.x's plain text protocol), and http/2 really ought to have just been a version of it.
While it's true that pipelining can improve performance without the need for http/2, it was always, fundamentally, the wrong solution. On top of it, i doesn't help that http/1.1's rules for when pipelining requests is allowed are surprisingly complex, and we ended up with a bunch of buggy implementations that led to pipelining being disabled in new stuff.
Mandatory keepalive when you don't send a Connection header?
As you've already discovered, keepalive is actually useful, so I won't go too deep into that. The opt-out mechanisms are very simple (request HTTP/1.0 or send Connection: close
), and the server isn't required to support these, so I don't think this is a big deal.
Virtual hosts? If the spec writers just knew how their little hack would ultimately spell doom for IPv6 quickly replacing IPv4 for everyone they would've gotten second thoughts on it.
I don't think virtual hosts are the reason for IPv6's slow adoption. We have like 1 year old companies pretending they have technical debt from before IPv6's introduction. If virtual hosts didn't exist, I reckon we'd just see as much stuff shoved onto the same host as possible, and more extensive use of the path
parameter in cookies to achieve the same stuff we have separate virtual hosts for in this reality.
Chunked transfer encoding? Ummmmmm, FTP? (Tbh I haven't really familiarized myself in this part lol)
This exists because some http responses are produced before there's a known content length, thus the content-length header cannot be sent. It wouldn't be necessary if one connection handled a single request, though.
emma wrote
Reply to I brushed my teeth twice in a row this evening by nitori
might wanna do it one or two more times just to be safe
emma wrote
Reply to comment by nitori in Jstpst undergoing maintenance while I update the Docker image by twovests
it's coz php runs out of memory. the thumbnailing code stores the raw bitmap in memory when doing its thing, and with such a large image, that's a lot of bits to be mapped.
emma wrote
might wanna add one or two more just to be safe
emma wrote
Reply to If you forget the last "st" in jstpst you get a Japanese Society of Transcultural Psychiatry by nitori
i like how the english section has an ethics statement which is just completely empty
emma wrote
Reply to comment by twovests in Uploaded images don't display for me (at least thumbnails, anyway) by flabberghaster
It is not fixed, it still thinks it's an http site. If you changed docker-compose.yml, you'll also have to docker compose up -d
.
Also i just pushed new images since there was a bug after upgrading Symfony that would affect TRUSTED_PROXIES, so may be a good idea to docker compose pull
before doing the above, too.
emma wrote
Reply to can't help but empathize with joe biden. imagine having everyone drop you during ur last hit, and also having wild covid delusions to boot by twovests
if i were him, i would simply use the immunity powers granted to me by the supreme court to annihilate my detractors
emma wrote
Reply to comment by twovests in Since http is still fucking up the display of submission images for me thanks to CSP I created a Greasemonkey script to fix for my browser by nitori
i will put down the pitchfork, for now
to reiterate what i said on the worst chat app in existence, you gotta do the TRUSTED_PROXIES=172.16.0.0/12
thing. this will make postmill accept caddy's x-forwarded-proto: https
header that i'm pretty sure it sends to the backend. there is no need to edit the templates, as someone else suggested.
emma wrote
Reply to "It was just the right time," President Joe Biden comments on seven-minute slopppy makeout session on the roof with Former President Doanld Trump. "It was really dry" by twovests
this is the 'is wario a libertarian' of jstpst
emma OP wrote
Reply to comment by neku in my latest theory: the K-On! movie writers did not know about london, ontario by emma
👻
emma wrote
Reply to comment by nitori in americans cant even fucking kill presidential candidates any more let alone actual presidents. this is fucking bullshit. unbelievable. by neku
They're pretty confident about their marksmanship.
emma wrote
Reply to americans cant even fucking kill presidential candidates any more let alone actual presidents. this is fucking bullshit. unbelievable. by neku
twitter decided that now is the time to show me jeremy corbyn's 'tonight we made history' tweet, so i'm convinced that he did it
emma wrote
Reply to i have far more difficulty switching to firefox than i had switching to linux. ten years of trying and firefox is still broken on every platform by twovests
honestly i'm kinda excited for firefox to drop manifest v2 support, so i don't have to be beholden to these internet marketing snakes masquerading as a browser maker anymore.
emma wrote
Reply to whats the best vice to have by I_got_killed_one_time
bench vice
emma wrote
Reply to new pride discourse... if TechnologyConnections was cis and het, would he be allowed at pride? by twovests
he would not. how dare he make me feel bad about getting the expensive dishwasher detergent.
emma wrote
Reply to Redditors are stealing our content even after we made a whole new site 😡😡😡 by flabberghaster
Did you know Julius Ceasar invented the Juicero in the year 69 BC? It's true. Google 'julius caesar juicero' for more information.
emma wrote
it's true, but you shouldn't say it
emma wrote
Reply to my wheelie bin came home by Alessia
i made a gif for this occasion
emma wrote
Reply to Update Day - Nirvana The Band The Show by neku
ninja gayden