본문 바로가기
프로그래밍 언어

websocket

by do_ng 2021. 3. 16.

Websocket 개념 

: 서버와 클라이언트간의 연결을 유지한 상태로 데이터를 교환 가능 (전이중 통신) 

 

HTTP는 하나의 요청을 서버한테 보내면 응답을 하고 연결이 끊어지는 식으로 작동하게 되는데 즉, 10번의 요청을 보내면 10번 응답을 하고 연결이 끊어지는 과정이 10번 생기게 됨으로써 실시간으로 상호작용을 하는데 있어서 비효율적이다. 

 

HTTP 기반으로 채팅,온라인 게임과 같은 실시간 프로그램을 만들기가 어려웠기 때문에 WebSocket 이라는 통신 프로토콜이 등장하게 되었다. 

 

웹소켓 HandShake 과정 ) 

: 웹소켓을 초기화하기 위한 과정 (서버와 브라우저간의 통신을 웹소켓 프로토콜로 하기 위한 작업) 

출처 : https://www.joinc.co.kr/w/man/12/websocket#fid_2

 

 

웹소켓 프로토콜 

: 웹소켓은 HTTP를 기반(웹소켓 연결을 맺는 과정에 HTTP가 개입함)으로 하지만 HTTP 프로토콜과는 전혀 다른 프로토콜임 

-> 웹소켓으로 통신을 하기전에 브라우저에서 HTTP로 요청을 보내 웹소켓을 사용할 수 있는지 서버에게 물어보고 해당 서버가 웹소켓을 지원한다면 HTTP를 WebSocket 프로토콜로 upgrade를 한후 웹소켓 프로토콜을 이용해서 통신을 함 

 

 

 

 

 

 

참고 : woowacourse.github.io/javable/post/2020-09-20-websocket/

'프로그래밍 언어' 카테고리의 다른 글

자바에서 지역변수가 초기화 되지 않는 이유?  (0) 2022.03.02
자바스크립트 입문 1 (async,defer)  (0) 2021.05.20
람다식  (0) 2021.03.07
쓰레드  (0) 2021.03.04
타입 지정시 연산 속도  (0) 2021.02.26