웹소켓 (Web Socket)
Web socket
하나의 TCP 접속에 full-duplex channel을 제공하는 통신 protocol이다.
일반 소켓 통신과의 차이점으로는 bytes stream을 사용하지 않고 UTF8 format의 message stream만을 허용 한다는 점이다.
Web socket의 연결 설정을 위해 client와 server간의 hand-shake이 필요한데 그 과정은 다음과 같다.
1. Browser가 key를 가지고 web server에 web socket을 사용할 수 있는지 확인한다.
2. Web server는 browser에게 준비가 되었다는 신호와 함께 연결 하라는 신호를 보낸다.
3. Browser는 Web socket를 통해서 web server와 데이터를 교환한다.
4. Web browser는 데이터 교환이 끝나면 web server에게 연결을 종료 한다는 신호를 보낸다.
이 과정이 끝나면, TCP 연결을 통하여 응용 계층 protocol이 HTTP에서 web socket로 바뀌게 되는데 이 때 HTTP는 완전하게 무시되고, web socket의 connection이 끊일 때까지 두 끝점에서 web socket protocol을 사용하여 data를 주고받을 수 있다.
장점으로는 Active X를 사용하지 않고 TCP/IP socket 통신을 구현할 수 있다는 점과, HTTP의 헤더크기도 크게 압축할 수 있어 네트워크의 과부하를 줄이고 APP의 반응성을 높일 수 있다는 장점이 있다.
'SW > 데이터통신' 카테고리의 다른 글
SOAP (Simple Object Access Protocol) (0) | 2017.09.05 |
---|---|
Real Time Streaming Protocol (RTSP, 실시간 스트리밍 프로토콜) (0) | 2017.09.05 |
HTTP header (0) | 2017.09.05 |
HTTP/2 (HyperText Transfer Protocol Version 2) (0) | 2017.09.05 |
HTTPS (Hyper Text Transfer Protocol Secure) (0) | 2017.09.05 |