http vs WebSocket vs WebRTC

Angela Jeong·2024년 4월 16일
post-thumbnail

Http

HTTP (HyperText Transfer Protocol)는 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다.
예를 들어 유튜브를 보는 경우 유튜브에 접속해서 동영상을 보게 되는데, 이때 브라우저는 Http request를 server에 보내고, server는 response를 보내는 방식이다.

WebSocket

웹소켓은 클라이언트와 서버 사이에 지속적인 양방향 연결 스트림을 만들어 주는 통신 프로토콜이다.
이때 소켓은 파이프라인 같은 건데, 브라우저가 웹소켓으로 서버와 연결하면 통로는 계속 열려있게 되며 끊김없이 데이터가 들어가는 것이다.

예를 들어 전화통화를 한다고 생각하면 된다. (stream: 라디오)

즉, http 단방향 통신이라면, websocket 양방향 통신이다.

그런데, 유저가 많으면 많을 수록 서버 비용이 올라간다는 단점이 있다. 서버없이 브라우저끼리 연결을 하는 방법이 있는데 이게 바로 WebRTC다.

WebRTC

WebRTC (Web Real-Time Communication)는 서버를 통하지 않고 바로 브라우저에 전송을 하는 Peer to Peer 커뮤니케이션이 가능하다. 즉 브라우저끼리 연결하는 것인데 특히 영상과 오디오에 많이 쓰인다.



참고)
왜 '웹' 소켓일까?
앱을 만드는데 왜 웹소켓? 이라고 생각할 수 있지만 앱과 웹 모두 웹소켓을 사용한다. 모두 웹 기반이라고 보면 되고 앱에서도 사용 가능한 기술이다.

0개의 댓글