HTTP vs 웹소켓 단순 비교

2021. 12. 17. 11:13

1. HTTP

 - 클라이언트의 요청이 있을 때에만 서버가 응답해서 정보를 전송하고, 연결을 끊는 형태

 - 단방향으로 통신한다.

 - 실시간성 정보가 필요한 것이 아니라면 HTTP 통신으로 구현해도 충분

 - 매 요청을 보낼 때 마다 header - body와 관련된 정보 셋이 필요하기 때문에 불필요한 정보가 많다.

 

2. 웹소켓

 - HTTP 연결 때 매번 발생하는 3, 4 handshaking 비용이 필요 없다. (다만 최초 handshake는 HTTP와 동일)

 - 모든 브라우저가 지원하는 것은 아니나 SockJs, Socket.io같은 오픈소스 라이브러리를 통해 어느정도 지원이 가능하다

 - 새로고침 하지 않아도 최신 데이터가 적용된 웹화면을 볼 수 있다

 - 단점으로는 HTTP 보다 구현이 복잡하며, 연결이 끊어졌을 때의 상황을 따로 구현해야하며, 연결을 유지하는 것 자체가 서버 리소스를 사용하기 때문에 서버 환경에 부담이 갈 수 있다

 - 프로토콜은 websocket, websocket secure를 사용

 - 포트는 HTTP(80), HTTPS(443)과 동일한 포트 사용

 

3. HTTP vs 웹소켓

HTTP 웹소켓
비 연결성(stateless) 연결 지향(Stateful)
매번 연결 맺고 끊는 과정의 비용 한번 맺은 연결을 계속 유지
request - response 구조 양방향 통신

 

 

'' 카테고리의 다른 글

Angular.js vs Vue.js 차이점  (106) 2024.01.16