WebSocket 이란?
- Socket Connection : Client ↔ Server 간 동적인 양방향 연결 채널
- API를 통해 메시지를 서버로 보내면, 별다른 요청 없이 receive 수신
- 접속할 때만 HTTP를 사용하고, 이 후에는 WebSockets의 프로토콜을 사용
- TCP와 TLS 형태로 메세지 지향의 전송 프로토콜을 제공
- headers가 작기 때문에, overhead가 적다는 것이 장점
- ex) 채팅(양방향), 주식 주가 현황(실시간 네트워킹)
WebSocket 동작 방식

- Opening Handshake
- HTTP TCP 통신 과정 중 하나
- Client ↔ Server 간 초기 연결 설정
- Client → Server WebSocket 연결 요청
- Server → Client 승인하여 연결을 수립
- Connect()
- Data Transfer
- Client ↔ Server 간 메시지를 주고 받으며 실질적인 데이터 통신
- Send(), Receive()
- Closing Handshake
- WebSocket 연결을 종료하는 과정
- Disconnect()
URLSessionWebSocketTask
<aside>
💡 WebSockets 프로토콜 표준을 통해 통신하는 URL 세션 작업이다.
</aside>