프로젝트 지식(8) - 웹 소켓

less than 1 minute read

웹 소켓이란

웹 소켓에 대해 알아보기 전 가장 기본적인 HTTP 특징에 대해 알아보자. HTTP는 브라우저가 request를 보내면 서버가 response를 하고 응답을 하면 브라우저-서버 간 통신은 끝나게 된다. 다시 말해 서버가 브라우저에게 응답을 보낼 수 있는 것은 브라우저가 요청을 보냈을 때만 가능한 것이다.

만약 HTTP만을 이용해 채팅을 만들면, 새로운 채팅이 왔나 확인하기 위해 주기적으로 새로고침을 해주어야 할 것이다. 이 때문에 웹 소켓이 생겨난 것이다.

웹 소켓은 request-response 개념이 아니라, 커넥션이 open-close 개념이다. 브라우저가 웹 소켓을 이용해서 서버와 연결을 하면 브라우저-서버 간 통신은 계속 열려있을 것이다. 전화통화와 같은 개념이라고 생각하면 쉽다. 그러면 당연히 서버는 요청을 기다릴 필요도 없게 된다.

하지만 웹 소켓은 메모리 자원이 많이 필요하기 때문에 많은 유저가 있는 서비스라면 딜레이가 많이 생길 수 있다.

Reference

WebRTC? WebSockets? 5분 개념정리!

Leave a comment