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 a series about the HTTP protocol. Read them all here:

Informational 1xx

Successful 2xx

Redirection 3xx

Client Error 4xx

Server Error 5xx

Web mentions