운영체제(OS) & Network

WebSocket vs HTTP

jih0ssang 2023. 11. 12. 15:26

작성중

 

계층화

통신에 요구되는 기능(ex. 홈페이지 보기)은 프로토콜 하나로 구현되는 것이 아니라, 여러 프로토콜을 계층적으로 조합해서 구현한다.

 

계층적 조합 이유

  • 여러 프로토콜을 조합해서 만드는 이유는 통신으로 주고받는 모든 것을 하나의 프로토콜로 정의하기 복잡
  • 기능을 쉽게 교체 (얻는 결과는 변함없음)

WebSocket vs HTTP

WebSocket

브라우저에서 제공하는 웹 소켓을 통해 지속적인 연결이 유지되는 실시간 양방향 통신 방식.

하지만 핸드셰이크를 위해 HTTP 프로토콜에 의존하는 애플리케이션 계층의 프로토콜에 불과하며, 자체적인 암호화나 보안장치를 지원하지 않는다.

 

  • 클라이언트와 서버 양방향 통신

WebSocket에서 클라이언트와 서버는 지속적으로 연결된 TCP 라인을 통해 양방향 통신을 한다.

Ajax는 클라이언트에서 서버로밖에 요청을 못하는 단방향 통신이고, Websocket은 어느 쪽에서든 요청을 보낼 수  있는 양방향 통신이다.

  •  Stateful protocol

WebSocket은 HTTP와 다르게 상태를 유지(Stateful)하기 때문에 서버와 클라이언트는 연결을 항상 유지해야한다.

부하가 발생할 수 있다는 단점이 있고, 비정상적으로 연결이 끊어졌을 때 적절하게 대응할 수 있어야 한다.

HTTP와 같은 포트(80)을 사용하기에 기업용 어플리케이션에 적용할 때 방화벽은 재설정 하지 않아도 되는 장점이 있다.

 

 

통신 속도의 단위

접두사 읽는 방법 의미
k 킬로 2의 10승
M 메가 2의 20승
G 기가 2의 30승
T 테라 2의 40승
P 페타 2의 50승