지금까지 서버와 클라이언트의 통신은 HTTP 프로토콜로만 이용해야하는줄 알았다.
하지만, 실시간 통신이 필요한 서비스에는 HTTP 프로토콜이 아닌 웹소켓 프로토콜을 사용하는것이 좋다고 들었다.
문서전달을 해주는 HTTP와 달리 웹소켓은 실시간 통신의 문제를 해결해준다. 웹소켓은 실시간 양방향 통신을 지원하며 한번 연결이 수립되면 클라이언트와 서버 모두 자유롭게 데이터를 보낼 수 있다. 채팅처럼
http -> https 처럼 ws -> wss 로 보안을 강화하여 사용할 수 있다.
포트는 80과 443포트를 사용한다.
연결 수립은 핸드쉐이크를 통해 이루어진다. 핸드쉐이크시 Http를 이용한다.
그림에서 볼 수 있는것과 같이 핸드쉐이크가 끝나면 HTTP 프로토콜을 웹소켓 프로토콜로 변환하여 통신하게 된다.