Skip to content

426 Upgrade Required ​

Meaning ​

The server refuses to perform the request using the current protocol but might do so if the client upgrades to a different protocol. The server sends an Upgrade header in the response to indicate the required protocol(s).

When to Use ​

When a client needs to switch to a different protocol (such as TLS/HTTPS or a newer HTTP version) to access the resource. The server includes an Upgrade or similar header to specify what protocol to use.

Example ​

An HTTP server might return 426 Upgrade Required if a client tries to use a plain HTTP connection for an endpoint that mandates HTTPS, possibly with a header suggesting "Upgrade: TLS/1.2".

When Not to Use ​

Do not use if the request can be handled over the current protocol. This is specific to scenarios requiring protocol change. For example, don't use 426 just to suggest a newer API version (that should use application-level versioning logic or 301 redirects).

Source ​

RFC 2817


Released under the MIT License.