본문으로 건너뛰기

WebSocket Handshake

핸드셰이크 응답 코드

충전기가 CSMS에 WebSocket 연결을 시도할 때, 핸드셰이크 단계에서 다음과 같은 HTTP 응답 코드를 받을 수 있습니다.

HTTP Status Code상태명설명
101Switching Protocols핸드셰이크 성공, WebSocket 연결 수립
400Bad Request규격 외 요청
401Unauthorized인증 실패
406Not Acceptable충전기 사용 불가
409Conflict중복 세션
426Upgrade RequiredTLS 연결 필요
429Too Many Requests요청 제한 초과
500Internal 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

다음 상황에서 발생합니다:

  1. Rate Limit 초과

    • 동일 IP에서 1분 내 5회 이상 연결 시도한 경우
  2. 동시 연결 수 초과

    • 동일 IP에서 허용된 최대 동시 연결 수를 초과한 경우
재시도 권장

Rate Limit 초과 시 최소 60초 이상 대기 후 재시도하세요. 재접속 시 백오프 및 지터 적용을 참고하여 구현해 주세요.

500 Internal Server Error

서버 내부 오류가 발생한 경우입니다.

  • 인증 서버 연결 실패
  • 내부 처리 중 예외 발생
  • 서비스 점검중
재시도 권장

Rate Limit 초과 시 최소 60초 이상 대기 후 재시도하세요. 재접속 시 백오프 및 지터 적용을 참고하여 구현해 주세요.