HTTP Status Codes

426 Upgrade Required

The server refuses to serve the request on the current protocol and requires the client to switch, naming the target protocol in an Upgrade header.

What it means

426 Upgrade Required tells the client the request cannot proceed until it upgrades protocols — for example moving from cleartext to TLS, or to a newer HTTP version. The response includes Upgrade and Connection: Upgrade headers naming the required protocol.

Why it matters

  • It lets a server enforce a minimum protocol, such as refusing plaintext in favour of encrypted transport.

Common mistakes

  • Returning 426 without the Upgrade header that tells the client what to switch to.

How WebInspect checks this

  • WebInspect reports protocol support (HTTP/2, HTTP/3, TLS versions) and upgrade-related headers.