의미
서버가 현재 프로토콜로는 요청을 거부하고, Upgrade 헤더에 지정한 TLS나 HTTP/2 등으로 업그레이드하라고 요구합니다.
흔한 원인
- 서버가 더 새로운 프로토콜 버전을 요구함
- WebSocket 엔드포인트를 일반 HTTP로 호출함
해결 방법
클라이언트 또는 방문자라면
https, HTTP/2, WebSocket 등 Upgrade 헤더의 프로토콜로 전환하세요.
사이트나 API 운영자라면
필요한 프로토콜을 나열한 Upgrade를 포함하세요.
응답 예시
HTTP/1.1
HTTP/1.1 426 Upgrade Required
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Upgrade: HTTP/2
Connection: Upgrade
Content-Length: 0 명세
자주 묻는 질문
› WebSocket 서버가 426으로 응답하는 이유는?
요청이 WebSocket 업그레이드 헤더가 없는 일반 HTTP였기 때문입니다.
› 426으로 HTTPS를 강제하나요?
드뭅니다. 사이트는 보통 301/308로 https에 리디렉션하고 HSTS를 씁니다.