Tech is created to fix problem

HTTP vs WebSocket 본문

프로토콜 및 데이터 이슈/HTTP

HTTP vs WebSocket

furaha 2023. 11. 20. 00:11
반응형

 

이번 과제는 "채팅기능을 사용한 서비스"를 만드는 것이었다.

채팅은 실시간으로 데이터를 업데이트 해주어야 한다.

그 실시간 통신을 가능하게 해주는 것은 프로토콜의 한 종류인 WebSocket 이다.

채팅, 알림기능 등등 WebSocket 이 자주 사용된다고 한다.

 

기본적으로 접했던 HTTP 방식은 클라이언트가 request 를 하면 response 해주는 것인데

HTTP 와 WebSocket 를 비교했을 때 무엇이 다를까?

 

HTTP의 특징

 

Stateless

 

Stateless = 상태를 저장하지 않는 것 즉 유저를 기억하지 못한다는 것이다.

 

유저를 기억하지 못하면 데이터 주고받고 한 번 하면 유저를 잊어버리게 된다.

통신 후에 그 다음 request 를 기다릴 뿐이다.

그래서 로그인한 서비스의 경우 request 할 때, 계속 헤더에 auth를 넣어주는 것이다.

그러면 그 auth에 일치하는 profile 로 응답을 해준다.

 

HTTP의 가장 큰 특징은 오직 req 가 있어야 서버가 res 를 준다는 것.

 

WebSocket의 특징

 

그러나 WebSocket 의 경우 손잡는 것과 같이 한번 서로 연결되면 유저를 기억한다!!!

말그대로 연결중에 양방향이 성립된다.

 

연결되어있다는 가정하에 브라우저-서버 간 지속적으로 연결되어 있어서

브라우저가 서버에게 어떤 때나 메시지를 보낼 수 있고,

서버는 브라우저에게 어떤 때나 메세지를 보낼 수 있다.

ex) wifi 한번 연결하면 지속되는 것처럼

 

그리고 webSocket은 언어가 아니다. 브라우저에 내장되어있는 API이다.

 

 

반응형