[Node.JS] socket의 connection event가 발생하기까지의 과정

박두팔이·2024년 3월 7일
0

Node.JS

목록 보기
8/20
post-thumbnail

Socket연결과정

1. 클라이언트에서 HTTP Handshacke요청

  • 클라이언트는 현재 http 연결을 ws프로토콜로 전환하겠다는 핸드셰이크 요청을 서버로 보냄

  • 클라이언트에서 서버로 HTTP.GET요청을 보내면 이 요청에는 Upgrade: websocketconnetion: Upgrade 헤더가 포함된다.

2. 서버에서 Handshacke 응답

  • 서버는 클라이언트의 핸드셰이크 요청을 받고, 통신을 위한 초기 설정을 진행한다.

  • 서버가 WebSocket 연결을 지원하고 요청을 수락할 경우, HTTP 응답 코드 101 Switching Protocols를 클라이언트에 보내 연결 프로토콜을 WebSocket으로 전환

  • 서버가 클라이언트에 핸드셰이크 응답을 보낼 때, Id, 서버가 지원하는 프로토콜 버전, 통신을 위한 설정(통신 암호화 여부, 하트비트 간격 등)이 있다면 이 부분을 포함된다.

3. 연결 업그레이드 완료

  • 초기의 HTTP 연결은 WebSocket 연결로 업그레이드되어, 이후부터는 양방향 통신이 가능한 WebSocket 프로토콜을 통해 데이터가 전송 된다.
profile
기억을 위한 기록 :>

0개의 댓글