Error Codes Wiki

HTTP 426 Upgrade Required — Protocol Upgrade Needed

Warning4xx client error

Overview

HTTP 426 Upgrade Required means the server refuses to perform the request using the current protocol and requires the client to upgrade to a different protocol.

Key Details

  • Server requires the client to switch to a different protocol version
  • The Upgrade header in the response specifies which protocol to use
  • Common when a server requires TLS/HTTPS but receives plain HTTP
  • Also used for WebSocket upgrade requirements
  • Different from 301/308 redirects — 426 requires a protocol change, not a URL change

Common Causes

  • Accessing an HTTPS-only endpoint via plain HTTP
  • WebSocket endpoint receiving a regular HTTP request without upgrade
  • Server requiring HTTP/2 but receiving HTTP/1.1 request
  • API requiring a minimum TLS version not met by the client

Steps

  1. 1Check the Upgrade response header for the required protocol
  2. 2Switch from HTTP to HTTPS if indicated
  3. 3For WebSocket connections, ensure you send the proper Upgrade: websocket header
  4. 4Update your HTTP client to support the required protocol version
  5. 5If TLS version is the issue, update your client's TLS library

Tags

http426upgrade-requiredprotocolwebsocket

More in 4xx Client Error

Frequently Asked Questions

Most commonly upgrading from HTTP to HTTPS (TLS), or from HTTP to WebSocket.