← 질문 목록
#197깊이 0
웹소켓과 일반 소켓 통신은 무엇으로 구분하는가?
웹소켓은 HTTP 기반의 전이중 통신 프로토콜이며, 일반 소켓은 전송 계층의 TCP/UDP 연결 자체를 의미한다.
| 기준 | 웹소켓 | 일반 소켓 |
|---|---|---|
| 계층 | 애플리케이션(L7) | 전송(L4) |
| 연결 방식 | HTTP 핸드셰이크 필요 | 직접 연결 |
| 특징 | 상태 유지(Stateful) | 로우 레벨 데이터 전송 |
웹소켓은 웹 브라우저 환경에서 실시간 통신을 하기 위해 설계되었다. 처음 한 번만 HTTP로 악수하고 그 뒤로는 자기 프레임으로 오간다. 요청-응답이 아니라 양쪽이 아무 때나 보내는 구조다.
일반 소켓은 운영체제가 제공하는 네트워크 인터페이스다. IP와 포트로 바이트 스트림을 주고받는 가장 기초적인 도구이며, 웹소켓은 내부적으로 이 소켓을 사용해 구현된다.
웹소켓은 특정 규약(프로토콜)을 정의한 것이고, 소켓은 통신을 위한 하드웨어/소프트웨어적 통로 그 자체라고 볼 수 있다.