728x90

출처: node.js 교과서

 

웹소켓은 실시간 양방향 데이터 전송을 위한 기술이다. 

http와 다르게 ws라는 프로토콜을 사용한다.

노드에서는 ws나 Socket.IO 같은 패키지를 통해 웹소켓을 사용할 수 있다.

 

 

웹소켓이 나오기 이전에는 http기술을 사용하여 실시간 데이터 전송을 구현했다.

그중 한가지가 폴링polling이라는 방식인데 http가  클라이언트에서 서버로 향하는 단방향 통신이므로 주기적으로 서버에 새로운 업데이트가 있는지 확인하는 요청을 보낸 후 , 있으면 가져오는 단순방식!

 

그러다가 HTML5가 나오면서 웹브라우저와 웹서버가 지속적으로 연결된 라인을 통해 실시간으로 데이터를 주고 받을 수 있는 웹소켓이 등장!

웹소켓이 연결되면 계속 연결된 상태로 있음

따로 업데이트가 있는지 요청을 보낼 필요가 없음

 

업데이트할 내용이 생겼다면 서버에서 바로 클라이언트에 알린다. http프로토콜과 포트를 공유할 수 있어서 다른 포트에 연결할 필요도 없다

 

참고로 

서버센트 이벤트 Server Sent Event (SSE)라는 기술도 등장함

처음에 한번만 연결하면 서버가 클라이언트에 지속적으로 데이터 보냄

웹소켓과 다른점은 클라이언트에서 서버로는 데이터를 보낼 수 없다는 것. 즉 단방향통신

 

웹소켓만이 진정한 양방향 통신

 

 

 

 

 

728x90

+ Recent posts