웹소켓은 하나의 TCP 연결에 전이중 통신 채널을 제공하는 통신 프로토콜이다.
여기서 말하는 전이중 통신이라는 단어는 '양방향 통신이 가능하다'는 뜻으로, 웹소켓 커넥션이 맺어진 클라이언트와 서버 간에는 하나의 커넥션을 통해 통신이 가능하다.
이는 HTTP와 가장 큰 차이점을 보이는 부분으로, HTTP 요청의 경우 보낼 때마다 새로 커넥션을 맺고 응답을 받은 후 커넥션이 종료가 되는데 비해 웹소켓의 경우에는 아래 이미지에서 보듯, 최초의 handshake 이후에 한쪽에서 커넥션을 종료시키지 않는 한 커넥션이 유지가 된다.
최초의 커넥션이 성공적으로 맺어졌다는 것을 어떻게 확인할 수 있나? handshake 성공시 101 응답을 받게 되는데, 이 101 코드의 의미는 '프로토콜 전환'이 성공적으로 이루어졌음을 말하는 것이다.
반응형
'Web & Network' 카테고리의 다른 글
NAT (Network Address Translation, 네트워크 주소 변환) (0) | 2018.12.19 |
---|