Develop

WebSocket 관련 글 본문

API/WebSocket

WebSocket 관련 글

개발 기록 2024. 1. 3. 11:45

웹소켓(WebSocket)은 웹 애플리케이션에서 실시간 양방향 통신을 지원하는 프로토콜과 기술입니다. 웹소켓은 HTTP 프로토콜과 마찬가지로 웹 브라우저와 웹 서버 간의 통신을 위한 것이지만, 웹소켓은 HTTP의 한계인 요청/응답 모델을 벗어나 실시간 데이터를 양방향으로 주고받을 수 있게 해줍니다.

웹소켓의 주요 특징과 특성은 다음과 같습니다:

양방향 통신: 웹소켓은 클라이언트와 서버 간에 양방향 통신을 제공합니다. 이것은 클라이언트가 서버로 메시지를 보내고 서버가 클라이언트로 메시지를 보낼 수 있음을 의미합니다.

실시간 데이터 전송: 웹소켓은 실시간 데이터 스트리밍 및 실시간 업데이트에 적합합니다. 이로써 채팅 애플리케이션, 온라인 게임, 주식 시세 업데이트, 협업 도구, 실시간 통지 시스템 등 다양한 응용 프로그램에서 사용됩니다.

낮은 오버헤드: 웹소켓은 HTTP보다 더 작은 오버헤드를 가지며, 연결을 유지하고 데이터를 주고받을 수 있도록 설계되었습니다. 이로써 연결을 유지하는 데 필요한 부하가 적고, 효율적인 실시간 통신이 가능합니다.

지속적인 연결: 웹소켓 연결은 일반적으로 클라이언트와 서버 간에 유지되며, 연결이 유지되는 동안 양쪽에서 메시지를 주고받을 수 있습니다.

이벤트 기반: 웹소켓은 이벤트 기반 프로그래밍 모델을 사용하여 서버에서 클라이언트로 이벤트를 보내고, 클라이언트는 이벤트를 처리할 수 있습니다.

웹소켓은 주로 웹 애플리케이션의 실시간 요구 사항을 처리하기 위해 사용되며, 웹 브라우저와 서버 간의 실시간 통신을 단순화하고 개선하는 데 유용합니다. JavaScript 및 다양한 서버 측 언어를 사용하여 웹소켓을 구현할 수 있으며, 다른 통신 프로토콜보다 효율적이고 빠른 실시간 통신을 제공합니다.

웹소켓 프로토콜 (WebSocket Protocol)

웹소켓 프로토콜은 실시간 양방향 통신을 지원하기 위한 네트워크 프로토콜입니다. 이 프로토콜은 RFC 6455로 표준화되었으며, HTTP와 마찬가지로 인터넷을 통한 데이터 통신을 가능하게 합니다. 웹소켓 프로토콜은 클라이언트와 서버 간의 연결을 설정하고, 데이터 프레임을 전송하는 방법을 정의합니다. 이 프로토콜을 따르는 클라이언트와 서버는 웹소켓을 사용하여 실시간 데이터를 주고받을 수 있습니다.

웹소켓 API

웹 브라우저와 서버 간의 웹소켓 통신을 구현하는 데 사용되는 일련의 API 및 라이브러리를 가리킬 때 "웹소켓 프로토콜"이라는 용어가 사용될 수 있습니다. 이 API 및 라이브러리는 클라이언트 측 웹 애플리케이션에서 웹소켓 연결을 설정하고 관리하는 데 도움을 줍니다. JavaScript에서는 WebSocket 객체가 웹소켓 프로토콜을 사용하는 클라이언트 측 API입니다.

따라서, "웹소켓 프로토콜"이라는 용어는 실시간 통신을 위한 네트워크 프로토콜 자체를 가리킬 수도 있고, 클라이언트 측에서 이 프로토콜을 사용하는 API 및 라이브러리를 가리킬 수도 있습니다.