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.


HTTP series

This article is part of an ongoing series about the HTTP protocol.

If you want to follow along as I write them, you can Subscribe to my Atom feed or Mailing list.

Informational 1xx

Successful 2xx

Redirection 3xx

Client Error 4xx

Server Error 5xx

Web mentions