WebSocket

최신 업데이트:2022-03-17 09:12:00

1 기능 소개

1.1 개요

웹소켓은 단일 TCP 연결을 통해 양방향 통신 채널을 제공하는 컴퓨터 통신 프로토콜입니다. 기존 HTTP 통신에서는 클라이언트가 서버로부터 업데이트된 데이터를 즉시 가져오지 못하는 문제를 해결하고 클라이언트와 서버 간의 양방향 연결을 구축합니다. 이벤트를 기반으로 웹 애플리케이션 기능을 강화하여 신속성과 애플리케이션 성능을 향상시킬 것입니다.

1.2 해당 제품 라인

  • 동적 웹 가속화
  • 미디어 가속 라이브 방송

1.3 애플리케이션 시나리오

동시 실행 및 실시간 응답에 대한 요구가 높을 경우 WebSocket은 다음과 같은 시나리오에 유용합니다:

  1. 소셜 피드 실시간 업데이트 및 알림;
  2. 소셜미디어 플랫폼의 실시간 상호 작용;
  3. 주식형 펀드의 실시간 데이터 및 추세 표시
  4. 스포츠 라이브 업데이트;
  5. 실시간 메시지 및 라이브 채팅;
  6. 위치 기반 앱(예를 들어 내비게이션 앱)

2 기능 상세 정보

웹소켓 연결하는 과정에서 클라이언트는 먼저 웹소켓 연결 요청을 보낸 후 서버가 응답을 반환해야 합니다. 이 과정을 핸드셰이크라고 합니다. 핸드셰이크가 성공한 후 클라이언트와 서버는 양방향 통신 채널을 구축하여 서로 데이터를 전송합니다.

기존 HTTP와 웹소켓 상호 작용의 비교입니다

기존 HTTP 솔루션:

  1. 라운드 로빈: 클라이언트는 시간 간격을 설정하고 정기적으로 서버에 신규 데이터에 대한 요청을 전송하며 서버는 신규 데이터가 있는지 없는지의 응답을 즉시 반환합니다.

  2. 롱폴링: 클라이언트는 신규 데이터에 대한 요청을 전송하고 서버는 신규 데이터를 사용할 수 있을 때까지 요청을 차단하고 응답하지 않습니다.

웹소켓:

연결이 설정되면 클라이언트와 서버 간의 연결이 지속적으로 유지됩니다. 데이터가 업데이트되면 서버는 이를 클라이언트로 자동적으로 보낼 것입니다.

3 주요 장점

  1. 클라이언트가 서버로부터 업데이트된 데이터를 즉시 가져오지 못하는 문제를 해결합니다.
  2. 웹 애플리케이션 기능을 강화하여 사용자 체험과 애플리케이션 성능을 개선합니다.
  3. 클라이언트와 서버 간의 트래픽이 많을 경우 네트워크 대역폭 자원의 소모를 크게 줄입니다.
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.