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.