네트워크 - 웹소켓

Websocket

클라이언트에서 서버의 실시간 데이터를 받아오고 싶을 때 사용하는 프로토콜이다.

웹소켓은 HTTP 위에서 돌아가는 프로토콜이어서 HTTP와 같은 포트를 사용할 수 있다.

요즘 브라우저에서는 웹소켓 연결을 지원해준다.

웹소켓의 프로토콜은 ws://**.*** 코드에서 웹소켓 연결이 샐행되는 순간, 101 Switching Protocols 요청을 받게 된다.

해당 요청을 보면 Connection: Upgrade 헤더가 들어가 있다. 이 뜻은 해당 요청을 웹소켓 프로토콜로 업그레이드하라는 뜻의 요청이다.

해당 101 요청이 웹소켓 연결을 맺기전에 주고받는 이유는, 서버가 웹소켓을 지원하지 않을 수도 있기 때문이다.

그 후 브라우저와 서버는 웹소켓 연결을 맺게된다. 서버가 웹소켓을 지원을 안하는 경우, failed를 돌려주게된다.

그 후 서버에서 웹소켓 실행 후에 보내는 데이터를 브라우저에서 받을 수 있게 된다.