WebSocket Handshake
핸드셰이크 응답 코드
충전기가 CSMS에 WebSocket 연결을 시도할 때, 핸드셰이크 단계에서 다음과 같은 HTTP 응답 코드를 받을 수 있습니다.
| HTTP Status Code | 상태명 | 설명 |
|---|---|---|
| 101 | Switching Protocols | 핸드셰이크 성공, WebSocket 연결 수립 |
| 400 | Bad Request | 규격 외 요청 |
| 401 | Unauthorized | 인증 실패 |
| 406 | Not Acceptable | 충전기 사용 불가 |
| 409 | Conflict | 중복 세션 |
| 426 | Upgrade Required | TLS 연결 필요 |
| 429 | Too Many Requests | 요청 제한 초과 |
| 500 | Internal Server Error | 서버 내부 오류 |
응답 코드별 상세 설명
101 Switching Protocols (성공)
WebSocket 핸드셰이크가 성공적으로 완료되어 연결이 수립된 상태입니다.
400 Bad Request
다음 상황에서 발생합니다:
- CPID가 유효하지 않은 형식인 경우
- URL 경로의 마지막 부분에 CPID가 유효하지 않는 경우
Sec-WebSocket-Protocol헤더가 없는 경우- 지원하지 않는 OCPP 프로토콜 버전인 경우
401 Unauthorized
다음 상황에서 발생합니다:
Authorization헤더가 누락된 경우- Basic Authentication 형식이 표준 규격과 다른 경우
- Path CPID와 ID와 일치하지 않는 경우
- 비밀번호가 일치하지 않는 경우
406 Not Acceptable
다음 상황에서 발생합니다:
- 충전기가 시스템에 등록되지 않은 경우
- 시스템에서 해당 충전기가 강력하게 비활성화된 경우
409 Conflict
기존에 접속된 CPID가 존재할 경우 발생합니다.
- 네트워크 불안정으로 인해 기존 연결이 정상 종료되지 않은 경우
- 충전기가 재부팅되었으나 서버에서 이전 세션이 아직 정리되지 않은 경우
일 수 있으니 잠시 후 재시도 하시거나 잘못된 CPID를 사용하고 있지 않은지 확인하세요.
재시도 권장
Rate Limit 초과 시 최소 60초 이상 대기 후 재시도하세요. 재접속 시 백오프 및 지터 적용을 참고하여 구현해 주세요.
426 Upgrade Required
Security Profile 2 이상을 적용해야 하는 충전기가 TLS 연결 없이 접속을 시도한 경우 발생합니다.
429 Too Many Requests
다음 상황에서 발생합니다:
-
Rate Limit 초과
- 동일 IP에서 1분 내 5회 이상 연결 시도한 경우
-
동시 연결 수 초과
- 동일 IP에서 허용된 최대 동시 연결 수를 초과한 경우
재시도 권장
Rate Limit 초과 시 최소 60초 이상 대기 후 재시도하세요. 재접속 시 백오프 및 지터 적용을 참고하여 구현해 주세요.
500 Internal Server Error
서버 내부 오류가 발생한 경우입니다.
- 인증 서버 연결 실패
- 내부 처리 중 예외 발생
- 서비스 점검중
재시도 권장
Rate Limit 초과 시 최소 60초 이상 대기 후 재시도하세요. 재접속 시 백오프 및 지터 적용을 참고하여 구현해 주세요.