웹소켓
웹소켓 Websocket
웹소켓은 TCP통신 방식으로 서버와 클라이언트 사이에 데이터를 주고 받을 수 있는 기술이다. RFC 6455 에 기재 되어있다.
웹소켓은 서버와 클라이언트 사이에서 데이터를 주고 받을 수 있는데 이는 다시말해 서로 메신저를 이용해 1:1 채팅을 한다고 볼수 있다. HTTP REST 메서드인 POST 보다 빠르다. 이런 장점때문에 여러 API 또는 여러 게임 멀티플레이에도 사용된다.
cURL, 웹 브라우저가 지원을 하지 않는다. 프레임워크는 많으나 프로그래머가 아니면 접근하기 힘들다.
웹소켓 URI에는 2가지의 종류가 있는데 ws:// 로 시작하는 경우와 wss:// 로 시작하는 경우다. ws은 WebSocket의 약자이고, wss는 WebSocket Secure의 약자이며 그냥 HTTP, HTTPS 와 같은 개념인 것이다. 그래서 보통 유명한 서비스의 API는 wss를 많이 사용한다.
Python - websockets
Javascript - 자체 API 또는 ws, websocket[1]
Swift - Starscream
Go - gorilla/websocket [2]
1. 개요
웹소켓은 TCP통신 방식으로 서버와 클라이언트 사이에 데이터를 주고 받을 수 있는 기술이다. RFC 6455 에 기재 되어있다.
2. 장점
웹소켓은 서버와 클라이언트 사이에서 데이터를 주고 받을 수 있는데 이는 다시말해 서로 메신저를 이용해 1:1 채팅을 한다고 볼수 있다. HTTP REST 메서드인 POST 보다 빠르다. 이런 장점때문에 여러 API 또는 여러 게임 멀티플레이에도 사용된다.
3. 단점
cURL, 웹 브라우저가 지원을 하지 않는다. 프레임워크는 많으나 프로그래머가 아니면 접근하기 힘들다.
4. WS? WSS?
웹소켓 URI에는 2가지의 종류가 있는데 ws:// 로 시작하는 경우와 wss:// 로 시작하는 경우다. ws은 WebSocket의 약자이고, wss는 WebSocket Secure의 약자이며 그냥 HTTP, HTTPS 와 같은 개념인 것이다. 그래서 보통 유명한 서비스의 API는 wss를 많이 사용한다.
5. 대표적인 프레임워크 또는 라이브러리
Python - websockets
Javascript - 자체 API 또는 ws, websocket[1]
Swift - Starscream
Go - gorilla/websocket [2]