메세징 전송을 효율적으로 하기 위해 탄생한 프로토콜
Text 지향 프로토콜이나, Message Payload에는 Text or Binary 데이터를 포함할 수 있음
메세지 브로커를 사용하여 pub / sub 구조로 되어있어 메세지를 전송하고 메세지를 받아 처리하는 부분이 확실함
➡ pub / sub (발행 및 구독) : 메세지를 발행하는 주체와 소비하는 주체를 분리하여 제공하는 메세징 방법
개발자 입장에서 명확하게 인지하고 개발할 수 있음
이전에는 WebSocketSession에 직접 메세지를 전달했지만, STOMP는 특정 패턴(문자열) 구독을 통해 WebSocketSession에 직접 다루지 않고, 컨트롤러로 요청
➡ 소켓과 느슨한 연결로 가벼워짐
Websocket 위에서 동작하는 프로토콜로써 클라이언트와 서버가 전송할 메세지의 유형, 형식, 내용을 정의하는 메커니즘.
웹소켓은 HTTP로 "Handshake"를 통해 초기 통신을 시작하고 서버와 클라이언트 사이에 소켓통신을 연결해준다.
서버에서 생성한 Endpoint 경로로 소켓생성 후 클라이언트와 커넥션 만들기 SockJS.over()
클라이언트 구독하기 -> /sub prefix와 구독할 경로를 입력. (chat) => { ... } 구독하고 있는 경로로 메세지가 들어왔을때 실행되는 함수
커넥션
Send