426 Upgrade Required oznacza, że serwer odmawia wykonania żądania w bieżącym protokole, ale może je wykonać, gdy klient przejdzie na inny. Serwer musi wysłać nagłówek Upgrade z nazwą wymaganego protokołu lub protokołów.
Najczęstszy przypadek to endpoint WebSocket, który otrzymuje zwykłe żądanie HTTP: wiele serwerów WebSocket odpowiada kodem 426, aby zasygnalizować, że klient powinien rozpocząć handshake WebSocket. Kod 426 bywał też używany do wymuszania TLS (RFC 2817) lub nowszej wersji HTTP, ale w przypadku HTTPS standardowym rozwiązaniem jest przekierowanie.
Przykładowa odpowiedź
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 i sprawdzanie przekierowań
Adresu URL, który zwraca 426, nie da się zaindeksować, ale takie adresy to zwykle endpointy WebSocket lub API, których i tak nie należy indeksować. Jeśli sprawdzanie przekierowań pokazuje 426 dla zwykłej strony, serwer lub proxy kieruje ten adres URL do backendu WebSocket.
Typowe przyczyny i zastosowania
- Do endpointu WebSocket wysłano zwykłe żądanie HTTP
GET. - Serwer proxy przed serwerem nie przekazuje nagłówka
Upgrade, więc backend widzi zwykłe żądanie. - Serwer wymaga wersji protokołu, której klient nie użył.