426 Upgrade Required indica che il server rifiuta di eseguire la richiesta con il protocollo attuale, ma potrebbe farlo dopo che il client sarà passato a un protocollo diverso. Il server deve inviare un’intestazione Upgrade che indica il protocollo o i protocolli richiesti.
Il caso più comune è un endpoint WebSocket che riceve una normale richiesta HTTP: molti server WebSocket rispondono 426 per indicare che il client dovrebbe inviare un handshake WebSocket. Il 426 è stato usato anche per richiedere TLS (RFC 2817) o una versione più recente di HTTP, ma per HTTPS l’approccio abituale è un reindirizzamento.
Esempio di risposta
HTTP/1.1 426 Upgrade Required
Date: Fri, 06 Nov 2026 10:15:32 GMT
Upgrade: websocket
Connection: Upgrade
Content-Type: text/plain
Content-Length: 49
This endpoint only accepts WebSocket connections. SEO e verifica dei redirect
Un URL che restituisce 426 non può essere indicizzato, ma in genere si tratta di endpoint WebSocket o API che comunque non dovrebbero essere scansionati. Se una verifica redirect mostra un 426 per una normale pagina, il server o il proxy sta instradando quell’URL verso un backend WebSocket.
Cause comuni e casi d’uso
- Un normale
GETHTTP è stato inviato a un endpoint WebSocket. - Un proxy davanti al server non inoltra l’intestazione
Upgrade, quindi il backend vede una richiesta normale. - Il server richiede una versione del protocollo che il client non ha usato.