-
Web Socket vs APICS 지식 2025. 3. 27. 14:49
이것저것 보다가 갑자기 궁금해졌다... 웹 소켓이나 api나 클라이언트-서버 사이의 연결을 도와주는 매개체인것 같은데,, 굳이 왜 따로 구분해놨을까? 어떤 차이가 있을까??
해서 정리해보았다.. ㅎㅎ..
공통점
웹소켓과 Rest API 모두 클라이언트와 서버 간의 통신을 하는데 사용되는 기술이다.
차이점
웹소켓 : 양방향 통신을 가능하게 하는 프로토콜이며, 클라이언트와 서버 간에 실시간으로 데이터를 주고받을 수 있다.
API : HTTP 프로토콜을 기반으로 하는 상태가 없는 통신 방식이다.
통신 방식의 특징
웹소켓 API 데이터 교환 방식 실시간 통신을 위해 설계됨 HTTP 메소드(GET, POST, PUT, DELETE)등을 사용하여 리소스에 대한 CRUD를 수행 연결 방식 TCP 방식(한번의 연결이 이루어진 후에는 지속적인 데이터 교환이 가능함) 상태를 유지하지 않는 통신(주로 데이터 요청과 응답으로 이루어짐) 사용 예시 채팅, 게임, 실시간 피드 등 실시간으로 상호작용이 필요한 APP에 유용함 접속을 유지하고 있지 않아도 되는 블로그 시스템, SNS, 온라인 쇼핑몰 등 장점 반응 속도가 빠름 보안에 유리 단점 하이재킹 가능성 속도 느림 통신 예시
- API
- 클라이언트: "현재 온도를 알려줘" 요청.
- 서버: 현재 온도 응답(한 번의 요청-응답으로 종료).
- 클라이언트가 새로운 데이터를 얻으려면 다시 요청을 보내야 함.
- WebSocket
- 연결이 한번 설정되면, 클라이언트는 서버에 계속 데이터를 요청할 필요 없음
- 서버는 온도가 변할 때마다 클라이언트로 데이터를 푸시함.
AI 서비스 개발 분야에서는 어떻게 활용될까?
직접 경험해보았을 때, 웹소켓은 "실시간성" 이 중요한 서비스에서 주로 활용됐었다. 예를 들어서, cctv 영상을 실시간으로 받아서 이상행동을 탐지한다던지, 공정과정에서 데이터를 실시간으로 받아서 추론을 한다던지, 하는 것이였다.
API는 AI플랫폼 구축 처럼, 보안이 필요한 AI서비스 분야에서 주로 사용됐었다. 보안이 필수적이라 로그를 반드시 추적해야하는 분야에 주로 적용이 됐었던것 같다. 웹소켓은 연결이 계속 유지가 되기 때문에 하이재킹 등 문제가 발생할 여지가 있었다.
'CS 지식' 카테고리의 다른 글
가정용 AI 개발 환경 만들기 2탄 - 생성한 AWS 인스턴스 관리하기 (2) 2025.04.11 가정용 AI 개발 환경 만들기 1탄 - AWS 인스턴스 생성 (0) 2025.04.06 CUDA & Nvidia Driver & cudnn 의 정의 (0) 2025.03.27 - API