← 전체 용어

웹소켓WebSocket

WebSocket

연결을 유지한 클라이언트와 서버가 서로 메시지를 보낼 수 있게 하는 통신 기술이에요.

웹소켓은 클라이언트와 서버가 연결을 유지하며 양방향으로 메시지를 주고받는 통신 프로토콜이에요. 연결이 성립되면 양쪽이 필요한 시점에 텍스트나 바이너리 메시지를 보낼 수 있어 채팅과 실시간 상태 표시 등에 활용해요. 실제 서비스에서는 메시지 형식과 권한, 연결 종료 후 재접속과 누락 데이터 복구를 함께 설계해요.

쉽게 비유하면

전화가 연결된 동안 양쪽이 필요할 때 말을 주고받는 것과 같아요.

조금 더 자세히

클라이언트가 연결을 요청해 서버와 합의하면 메시지를 교환할 수 있어요. 텍스트 외에 바이너리도 보낼 수 있으며, 메시지의 의미와 데이터 구조는 앱이 정해요.

보호된 연결에는 TLS를 적용하는 wss 주소를 사용해요. 연결할 때 사용자와 접속 출처를 확인하고, 이후 메시지에서도 해당 작업과 자원에 대한 권한을 검사해야 해요.

이동 중 네트워크 전환이나 앱 종료로 연결이 끊길 수 있어요. 재접속 간격과 마지막 수신 위치, 중복·누락 처리 규칙을 정하고 연결 수와 메시지 처리량도 관찰해요.

어떻게 사용하나요

채팅처럼 새 소식이 생길 때마다 화면을 바꾸는 기능에서는 반복 조회가 부담이 될 수 있어요. 연결을 유지한 채 양쪽이 메시지를 보낼 수 있게 해 상호작용을 지원해요.

어떻게 작동하나요

  1. 1. 연결 요청 클라이언트가 서버와 연결 절차를 진행하고 앱이 필요한 인증·접근 조건을 확인해요.
  2. 2. 메시지 교환 연결된 양쪽이 앱의 형식에 맞춰 메시지를 보내고 처리해요.
  3. 3. 종료와 복구 연결 종료를 처리하고 필요하면 재접속해 누락된 상태를 다시 맞춰요.

활용 예시

  • 채팅 메시지와 입력 중 표시
  • 공동 문서의 변경 전달
  • 실시간 경기 점수와 상태 갱신

웹소켓 vs 웹훅

웹소켓웹훅
전달 방식연결을 유지하며 양방향 메시지 교환이벤트가 생기면 등록한 주소로 HTTP 요청
대표 활용앱과 서버 사이의 대화형 업데이트외부 시스템 간 이벤트 연동

알고 쓰는 기술

웹소켓을 연결하면 모든 메시지가 영구 저장되고 재접속 때 복구되나요?

저장과 읽음 확인, 재접속 후 재전달은 앱에서 구현해야 해요. 메시지 ID와 보관 정책, 재조회 규칙을 함께 설계해요.

이렇게 쓰여요

채팅 기능 설계

“새 메시지는 웹소켓으로 전달하고, 연결이 끊겼다 돌아오면 마지막으로 받은 메시지 이후의 기록을 조회해 맞추자”라고 이야기해요.

관련 용어

함께 보면 좋은 용어

최종 업데이트