본문으로 건너뛰기

WebSocket Handshake

충전기(EVSE)가 CSMS에 WebSocket 연결을 수립할 때, HTTP 핸드셰이크 단계에서 반환될 수 있는 상태 코드와 그에 따른 조치 사항입니다.

핸드셰이크 응답 코드 요약​

HTTP 상태 코드상태명설명
101Switching Protocols핸드셰이크 성공, WebSocket 연결 수립 완료
400Bad Request잘못된 요청 형식 (CPID 누락, 프로토콜 헤더 오류 등)
401Unauthorized인증 실패 (비밀번호 불일치, 인증 헤더 누락 등)
406Not Acceptable미등록 충전기 또는 운영 정지 상태
409Conflict세션 충돌 (동일 CPID의 기존 세션 미종료)
426Upgrade RequiredTLS(WSS) 암호화 연결 필요
429Too Many Requests연결 요청 한도(Rate Limit) 초과
500Internal Server ErrorCSMS 내부 일시적 오류

응답 코드별 상세 가이드​

101 Switching Protocols (성공)​

WebSocket 핸드셰이크가 성공적으로 완료되어 통신 세션이 수립되었습니다. 이후 OCPP 프레임 송수신을 진행합니다.

400 Bad Request​

요청 헤더나 경로 형식이 올바르지 않은 경우 발생합니다:

  • URL 경로에 포함된 CPID(Charge Point ID) 형식이 잘못되었거나 누락된 경우
  • Sec-WebSocket-Protocol 헤더가 누락되었거나 지원하지 않는 프로토콜 버전을 지정한 경우 (예: ocpp1.6, ocpp2.1 외 값)

401 Unauthorized​

자격 증명 검증에 실패한 경우 발생합니다:

  • Authorization 헤더가 누락되었거나 HTTP Basic Auth 표준 형식을 준수하지 않은 경우
  • Basic Auth의 사용자명(Username)과 URL 경로의 CPID가 일치하지 않는 경우
  • Basic Auth 비밀번호가 CSMS에 등록된 비밀번호와 일치하지 않는 경우
  • Security Profile 3 클라이언트 인증서가 이미 발급된 충전기가 하위 보안 등급(Security Profile 2)으로 접속을 시도한 경우

406 Not Acceptable​

CSMS에 등록되지 않았거나 정상 운영이 불가한 충전기인 경우 발생합니다:

  • CSMS 인프라 관리 시스템에 등록되지 않은 충전기 식별자인 경우
  • 운영 정책상 일시 정지 또는 폐기 처리된 충전기인 경우
확인 사항

등록 정보(충전소 ID 및 EVSE ID)를 확인하고, 지속적으로 발생할 경우 운영 관리자에게 인프라 등록 상태를 문의하시기 바랍니다.

409 Conflict​

동일한 CPID로 이미 활성화된 WebSocket 세션이 존재하는 경우 발생합니다:

  • 네트워크 순단으로 인해 기존 연결이 CSMS 측에서 아직 타임아웃 종료 처리되지 않은 경우
  • 충전기 재부팅 직후 이전 연결 세션이 완전히 정리되기 전에 재접속한 경우
  • 다른 충전기에서 동일한 CPID로 잘못 연결을 시도하고 있는 경우
조치 방법

이전 세션 정리를 위해 수 초간 대기 후 재시도하십시오. 반복 발생 시 재접속 백오프 및 지터 정책에 따라 간격을 점진적으로 늘려 접속을 재시도해야 합니다.

426 Upgrade Required​

TLS(보안 연결) 없이 일반 평문 WebSocket(ws://)으로 접속을 시도한 경우 발생합니다.

  • SK일렉링크 CSMS는 Security Profile 2 이상을 요구하므로 반드시 wss:// (TLS 암호화 연결)를 사용해야 합니다.

429 Too Many Requests​

단시간 내 과도한 연결 요청이 발생하여 요청 제한(Rate Limit)에 걸린 경우 발생합니다:

  1. Rate Limit 초과: 동일 IP에서 1분 내 5회 이상 연결을 시도한 경우
  2. 동시 연결 수 초과: 동일 IP에서 허용된 최대 동시 연결 수를 초과한 경우
조치 방법

최소 60초 이상 대기 후 재시도하십시오. 반드시 재접속 시 백오프 및 지터 적용을 충전기 펌웨어에 구현하여 무한 재시도 루프로 인한 차단을 방지해야 합니다.

500 Internal Server Error​

CSMS 내부 시스템의 일시적인 오류 또는 서비스 점검 중인 경우 발생합니다:

  • 내부 연동 서비스 일시 지연 또는 예외 발생
  • 시스템 유지보수 점검 시간대
조치 방법

지수 백오프 및 지터 알고리즘에 따라 재접속 간격을 점진적으로 늘려가며 재시도하시기 바랍니다.