본문 바로가기
IT

[스터딩] Websocket

by Dblog 2020. 12. 11.
728x90

Websocket, TCP 기반 소켓 API를 대체할 목적으로 HTML5에서 처음으로 공개 된 프로토콜입니다.
Blackstorm Labs의 CEO Michael Carter의 주도 하에 프로젝트가 진행되었다고 합니다.


 

Websocket이 등장한 뒤 웹페이지에서는 기존에 많은 제약이 있었던 양방향 통신이 가능해졌습니다.

 

Websoket 이전
  • HTTP

HTTP 통신제약이 있던 과거에는 특정 URL로 웹페이지를 서버에 요청하고 서버가 웹 브라우저에 요청한 결과를 뿌려주는 방식으로 진행 되었습니다. 

이 방식에는 결정적인 한계점이 존재 합니다. 정보를 받기 위해서는 URL로 페이지를 요청해야 하고 웹페이지에 아주 작은 부분을 변화 시키기 위해 전체 페이지를 로드 해야 하기 때문에 효율적이지 못합니다. 

즉 페이지의 이동이 있어야 원하는 데이터를 얻을 수 있는 한계가 있었습니다.

 

  • AJAX

HTTP의 한계를 보완하기 위해 등장한 기술이 AJAX 였습니다. 구글에서 개발한 AJAX는 간단하게는 Javacript가 요청과 응답을 대신 해주는 것입니다. 

(DOM이라는 기술이 포함되어야 하지만 추후에 관련하여 추가 게시글로 작성하겠습니다.)

AJAX가 필요한 페이지만 로드할 수 있는 기능을 제공하고 페이지를 이동하지 않아도 되는 효율성을 제공하였지만 결국 AJAX 또한 요청과 응답을 반복해야 하는 제약은 벗을 수 없었습니다. 

 

Websocket 이후

Websocket이 등장한 이후 양방향 통신이 가능하게 되면서 다양한 부분의 불편함이 해소 되었습니다.

  • 실시간 데이터 반영
  • connection 트레픽 감소
  • 방화벽 설정 감소

websocket이 적용 되고 가장 크게 변한점은 서버, 웹페이지 사이에 데이터를 자유롭게 주고 받을수 있게된 것입니다.

 

웹 페이지에서 볼 수 있는 채팅 시스템이 websocket의 가장 좋은 예시 입니다. 

728x90

'IT' 카테고리의 다른 글

gRPC 테스트 python  (0) 2021.06.01
gRPC 설치 - c++  (0) 2021.06.01
[LINUX] 리눅스 명령어,  (0) 2021.03.18
[Docker] 삽질의 역사(1) 명령어  (0) 2021.03.15
[스코페2021]!!!  (0) 2021.03.12

댓글