430 Would Block
If you look at lists of HTTP status-codes, you might notice that there’s a gap
between 429 Too Many Requests
and 431 Request Header Fields Too Large
.
I find this interesting, so I did some digging and it turns out that around the
same time 429
and 431
there was another status code that never made it into
a standard, defining 430 Would Block
.
The draft specification has a few solutions to make HTTP/1.1 pipelining features usable. HTTP/1.1 pipelining is a feature that allows a browser to send multiple requests over a single TCP connection before having to wait for the response.
This potentially could be a major optimization, but adoption has been problematic. Since then HTTP/2 was introduces which solves this entirely. Pipelining support did exist in a number of clients and servers, but was often behind a flag that was disabled by default. Since HTTP/2 various clients such as Curl have removed HTTP/1.1 pipelining support entirely, and it’s unlikely this feature will ever come back.
The 430 Would Block
status code was a code that a server could use to prevent
pipelining multiple requests, for which one of the requests would block
subsequent ones later in the pipeline.
Anyway, I wrote this mostly for historical interest sake. Don’t use this.
References
- draft-nottingham-http-pipeline-01 - Making HTTP Pipelining Usable on the Open Web