426 Upgrade Required

HTTP 426 status code means a server doesn’t want to accept the current protocol and wants the client to switch to a different (incompatible) protocol or a newer version of the same protocol (for example, HTTP/1.1 -> HTTP/2 or HTTP/2 -> WebSockets).

The server should respond with the Upgrade header indicating the protocol they are willing to accept.

Connection: Upgrade
Upgrade: websocket


A server might return 426 Upgrade Required when the WebSocket handshake fails due to the incorrect protocol version (presented in the Sec-WebSocket-Version HTTP header).

Typically, a WebSocket server will respond with supported versions of the protocol:

Sec-WebSocket-Version: 13, 8, 7