웹소켓(WebSocket)

Heena·2022년 8월 10일
0

웹소켓(WebSocket)

웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다.
웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 IDL의 웹소켓 API는 W3C에 의해 표준화되었다.

웹소켓은 HTTP와 구별된다. 두 프로토콜 모두 OSI 모델의 제 7계층에 위치해 있으며 제 4계층의 TCP에 의존한다. 웹소켓은 TCP 기반 소켓 API를 대체할 목적으로 HTML5 사양에서 TCPConnection으로 처음 참조되었다.

이들에 차이가 있으나 RFC 6455에 따르면 웹소켓은 HTTP 포트 80과 443 위에 동작하도록 설계되었으며 HTTP 프록시 및 중간 층을 지원하도록 설계되었으므로 HTTP 프로토콜과 호환이 된다.

웹소켓 프로토콜은 HTTP 폴링과 같은 반이중방식에 비해 더 낮은 부하를 사용하여 웹 브라우저(또는 다른 클라이언트 애플리케이션)과 웹 서버 간의 통신을 가능케 하며, 서버와의 실시간 데이터 전송을 용이하게 한다.

이는 먼저 클라이언트에 의해 요청을 받는 방식이 아닌, 서버가 내용을 클라이언트에 보내는 표준화된 방식을 제공함으로써, 또 연결이 유지된 상태에서 메시지를 오갈 수 있게 허용함으로써 가능하게 되었다. 이때 데이터는 패킷(Packet) 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP 요청 없이 양방향으로 이루어진다.

이런 특징 때문에 웹소켓은 온라인 게임이나 주식 트레이딩 시스템과 같이 데이터 교환이 지속적으로 이루어져야 하는 서비스에 적합하다.


참고

이중통신

이중통신(duplex) 또는 쌍방향 통신은 두 지점 사이에서 정보를 주고 받는 전자 통신 시스템을 말한다.
이중 통신을 할 때 전송 방향마다 두 개의 통신 선호를 사용하면 단순하지만 전송로를 아끼기 위해 여러 종류의 전송 방식이 쓰인다.

전이중 통신(Full Duplex)

두 대의 단말기가 데이터를 송수신하기 위해 동시에 각각 독립된 회선을 사용하는 통신 방식이다.
(예, 전화망, 고속 데이터 통신)

반이중 통신(Half Duplex)

한 쪽이 송신하는 동안 다른 쪽에서 수신하는 통신 방식으로, 전송 방향을 교체한다.
(예, 마스터 슬레이브 방식의 센서 네트워크)

단방향 통신(Simplex)

한쪽 방향으로만 전송할 수 있는 것
(예, 방송, 감시 카메라)

통신 프로토콜

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다.
통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다.

IEFE

국제 인터넷 표준화 기구(Internet Enginerring Task Force, IEFE)는 인터넷의 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안들을 분석하는 인터넷 표준과 작업 기구이다.

RFC

RFC(Request for Comments) 문서는 비평을 기다리는 문서라는 의미로, 컴퓨터 네트워크 공학 등에서 인터넷 기술에 적용 가능한 새로운 연구, 혁신, 기법 등을 아우르는 메모를 나타낸다.
인터넷 협회(Internet Society)에서 기술자 및 컴퓨터 과학자들은 RFC 메모의 형태로 생각을 출판하게 되며, IEFT는 일부 RFC를 인터넷 표준으로 받아들이기도 한다.
RFC 편집자는 매 RFC 문서에 일련 번호를 부여한다.

IDL

인터페이스 정의 언어(Interface Description Language 또는 Interface Definition Language, IDL)소프트웨어 컴포넌트의 인터페이스를 묘사하기 위한 명세 언어이다.
IDL은 어느 한 언어에 국한되지 않는 언어중립적인 방법으로 인터페이스를 표현함으로써, 같은 언어를 사용하지 않는 소프트웨어 컴포넌트 사이의 통신을 가능하게 한다.
예를 들어, C++을 사용하여 작성한 컴포넌트와 자바를 사용한 컴포넌트 사이에서 국한되지 않고, 인터페이스를 묘사하는 개념이다.

Web IDL

Web IDL은 웹 브라우저에서 구현하기 위한 API(응용 프로그래밍 인터페이스)를 설명하기 위한 IDL 형식이다.

OSI 모델

OSI 모형(Open System Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 OSI 7 계층이라고도 한다.

ISO

국제 표준화 기구(Internation Organization for Standardization)또는 영어 약어로 ISO는 여러 나라의 표준 제정 단체들의 대표들로 이루어진 국제적인 표준화 기구이다.

웹 서버(Web Server)

웹 서버(Web Server)는 HTTP 또는 HTTPS를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램이다.
위 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터(하드웨어) 또한 웹 서버라고 하기 때문에 혼동하는 경우가 간혹 있다.

profile
Hello, I am Heena :)

0개의 댓글