HTTP status · 4xx — client error

426 Upgrade Required

The server refuses the request until the client switches to a required protocol.

Key facts

Class4xx — client error
StandardRFC 9110 §15.5.22
Required response headersUpgrade, Connection: Upgrade
Typical upgradeHTTP/1.1 → HTTP/2 or TLS
BodyMay explain the requirement
Related101 Switching Protocols

A refusal with instructions

426 tells the client that the resource requires a protocol upgrade. The response carries Upgrade and Connection: Upgrade headers naming the acceptable protocol. Unlike 101, this is a final response: the current request was not processed.

Where it shows up

Legacy clients hitting an HTTP/2-only endpoint, plaintext requests to a service that now requires TLS, or WebSocket handshakes sent to the wrong scheme can all produce 426. Proxies that strip the Upgrade header make the problem look like a generic 4xx, so inspect the headers as well as the status line.

Frequently asked questions

What is the difference between 101 and 426?

101 accepts an upgrade within the current connection. 426 rejects the request and tells the client which upgrade is required.

Does 426 mean the endpoint is broken?

No. It is intentional policy. The client must use the required protocol.

Why does my proxy return 426?

It may require HTTP/2 or TLS while the client connected with an older protocol.

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.