--- title: "426 Upgrade Required — what it means and how to fix it" description: "The server refuses to answer over this protocol and names one you must switch to. What causes an HTTP 426, what to try as a visitor, and what to check if it is your own site." url: https://atoneplace.net/error/426/ site: "At One Place" --- # HTTP 426 — Upgrade Required **HTTP 426: Upgrade Required** The server refuses to answer over this protocol and names one you must switch to. ## What 426 actually means The request was understandable but the server will only serve it over a different protocol — typically a newer TLS version, or HTTP/2. The response must include an `Upgrade` header naming what it wants. In practice you meet this when an old client with outdated TLS support hits a server that has dropped TLS 1.0 and 1.1, or when an API requires a version of HTTP the client is not speaking. ## Common causes - A client using a TLS version the server no longer accepts - A server requiring HTTP/2 for a particular endpoint - A WebSocket endpoint reached with a plain HTTP request - An outdated HTTP library that cannot negotiate the required protocol ## If you're just trying to view the page 1. Update your browser — old versions without TLS 1.2 support hit this on a growing number of sites 2. Update the operating system, since TLS support often comes from the OS rather than the browser 3. On very old devices there may be no fix beyond using a different, newer device ## If it's your site 1. Send the `Upgrade` header naming the required protocol; without it the client cannot comply 2. Check your minimum TLS version setting before assuming an application bug 3. For WebSocket endpoints, returning 426 to a plain GET is correct and useful ## Reference - **Status code:** 426 - **Reason phrase:** Upgrade Required - **Category:** 4xx — Client Error - **Defined in:** RFC 9110 §15.5.22 ## Common questions ### What does HTTP 426 mean? The server refuses to answer over this protocol and names one you must switch to. The request was understandable but the server will only serve it over a different protocol — typically a newer TLS version, or HTTP/2. The response must include an `Upgrade` header naming what it wants. ### How do I fix a 426 error? Update your browser — old versions without TLS 1.2 support hit this on a growing number of sites ### Is 426 a client error or a server error? 426 is in the 4xx range, which means client error. The request itself was the problem, so retrying it unchanged will usually return the same code. ## Related pages - [404 Not Found](https://atoneplace.net/error/404/) - [403 Forbidden](https://atoneplace.net/error/403/) - [401 Unauthorized](https://atoneplace.net/error/401/) - [429 Too Many Requests](https://atoneplace.net/error/429/) - [400 Bad Request](https://atoneplace.net/error/400/) - [413 Content Too Large](https://atoneplace.net/error/413/) - [422 Unprocessable Content](https://atoneplace.net/error/422/) - [405 Method Not Allowed](https://atoneplace.net/error/405/) - [409 Conflict](https://atoneplace.net/error/409/) - [415 Unsupported Media Type](https://atoneplace.net/error/415/) - [408 Request Timeout](https://atoneplace.net/error/408/) - [410 Gone](https://atoneplace.net/error/410/) ## Sources - Hypertext Transfer Protocol (HTTP) Status Code Registry — IANA (https://www.iana.org/assignments/http-status-codes/) - RFC 9110: HTTP Semantics — IETF (https://www.rfc-editor.org/rfc/rfc9110.html)