본문 바로가기
공부/메모

웹소켓 공부 - 1

by 고구밍 2022. 4. 29.

 

웹소켓, 두 프로그램 가느이 통신방법 

W3c와 ietf에 의해 자리잡음 

인터넷 환경 (html5) 

 

웹소켓 프로토콜 

 

양방향 통신 -> 데이터 송수신을 동시에 처리할 수 있는 방법 

클라이언트와 서버가 서로 원할 때 데이터를 주고 ㅂ받을수 있음 

 

빠르게 줘야되는 

채팅 주식 비디오 데이터 

 

비슷한 기술 

Polling : 서버로 일정 주기 요청 소잇ㄴ 

->  

 

Long Polling 

 

Streaming  

 

<request, response 둘다 header가 너무 큼> 

 

 

 

 

핸드 쉐이킹 -> 연결 수립을 요청할헤더 

 

웹서버 키 -> 서로 인증 

 

-------------------- 

 

데이터를 주고 받음 

신원인증  

데이터를 주고받기 

프로토콜이 -> ws로 변경 

 

메시지 : 여러 프레임이 모여서 구성하는 하나의 논리적 메시지 단위 

 

프레임 : 작은 헤더 -> 웹소켓 통신에 사용되는 데이터는 utf8인코딩 

 

 

프레임 헤더 구조 

-> 어떻게 사용될 

 

동작 

 

교환 가능한 -> text, massge 

 

브라우저와 웹 서버의 종류와 버전을 파악하여 가장 적합한것을  

 

웹소켓 한계 : 문자열들을 주고 받을 수 있게 해줄 뿐 

Websocket은 형식이 정해져 있지 않기 대문에 어플리케이션에서 쉽게 해석하기 어려움 

-> sub-protocols을 사용해서 주고 받는 메시지의 형태를 약속하는 경우가 많음(해석하기 쉽게) 

 

 

STOMP(Simple Text Oriented Message Protocal) 

STOMP는 채팅 통신을 하기 위한 형식을 정의 

HTTP와 유사하게 간단히 정의되어 해석하기 편한 프로토콜 

일반적으로 웹소켓 위에서 사용 

 

 

 

 

 

 

프레임 구조 

 

COMMAND 

Header1:value1 

Header2:value2 

 

BodyBodyBodyBody^@ 

 

프레임 기반의 프로토콜이다. 프레임은 명령, 헤더, 바디로 구성된다. 

자주 사용되는 명령은 CONNECT, SEND, SUBSCRIBE, DISCONNECT등이 잇다. 

헤더와 바디는 빈 라인으로 구분하며, 바디의 끝은 NULL 문자로 설정한다. 

 

 

 

 

 

'공부 > 메모' 카테고리의 다른 글

기술 부채란?  (0) 2022.06.23
제이유닛 테스트 공부하기 - 1  (0) 2022.05.17
예외처리관련 링크 - 2  (0) 2022.04.28
이미지 AWS 3S 파일 업로드 및 삭제 공부 - 1  (0) 2022.04.26
예외처리를 알아보자 - 2  (0) 2022.04.20