블로그 이름

웹 소켓(Web socket)이란? 본문

개발/기타

웹 소켓(Web socket)이란?

Hide 2024. 11. 15. 19:24

webSocket은 웹 앱과 서버 간의 지속적인 연결을 제공하는 프로토콜이다.

이를 통해 서버와 클라이언트 간에 양방향 통신이 가능해진다. HTTP와 달리 한번 열린 뒤 유지되므로 언제든지 데이터를 전송 할 수 있고, 실시간 통신에서 적극적으로 사용하고 있다.

 

초기 인터넷 통신 방식은 HTTP를 이용한 클라이언트(요청)  서버 (응답) 모델을 사용하였다. 현재 가장 많이 쓰는 기술 중 하나이며 대부분의 작업에서 큰 문제가 없다. 하지만 실시간 데이터를 주고받는데에 한계가 있다.

 

요청과 응답이 있다는 것은 클라이언트가 서버에게 요청하지 않으면 서버는 클라이언트에게 먼저 데이터를 보낼 수 없어서 클라이언트는 서버에 지속적으로 요청을 보내야한다. 그러면 트래픽이 불필요하게 증가되고, 이를 해결하기 위한 것이 웹소켓이다.

 

웹소켓은 html5에 등장, 실시간 웹 애플리케이션을 위해 설계된 통신 프로토콜이며 TCP를 기반으로 한다. 신뢰성 있는 데이터 전송을 보장하며, 메세지 경계를 존중하고, 순서가 보장된 양방향 통신을 제공할 수 있다.

 

HTTP와 다르게 클라이언트와 서버 최초 연결 시 양방향 통신을 지속적으로 할 수 있다. 데이터는 패킷 형태로 전달되며, 양방향으로 이루어진다.

 

웹소켓의 한계점

1. HTML5를 사용하지 않는 브라우저에서 사용 불가

2. 서버의 부하 증가

3. 웹소켓 연결이 끊긴 이유에 대해 정확히 알 수 없어 에러 처리가 어려움

 

오늘은 웹소켓이 무언이지에 대해 알아보았다.

'개발 > 기타' 카테고리의 다른 글

[API] API 명세서 작성하는 방법  (0) 2024.11.23
IT 용어 정리, PoC, BMT 뜻  (0) 2024.11.20
WSUS 서버란?  (0) 2024.11.13
[TypeScript] 타입 변환 안되는 현상  (0) 2024.11.10
[TOMCAT] 톰캣 server.xml 설정  (0) 2024.11.08