SockJS

SockJS는 어플리케이션이 WebSocket API를 사용하도록 허용하지만, 브라우저에서 WebSocket을 지원하지 않는 경우에 대안으로 어플리케이션의 코드를 변경할 필요 없이 런타임에 필요할 때 대체를 하는 것이다.

SockJS는 다양한 기술을 이용해 웹소켓을 지원하지 않는 브라우저에서 정상적으로 동작하도록 해준다. 전송 타입은 크게 다음의 3가지로 분류된다


STOMP (Simple/Stream Text Oriented Message Protocol)

WebSocket 위에서 동작하는 문자 기반 메시징 프로토콜, 클라이언트와 서버가 전송할 메시지의 유형, 형식, 내용들을 정의하는 매커니즘이다.

기본적으로 pub/sub 구조로 되어있어, 메시지를 전송하고 받아 처리하는 부분이 확실히 정해져 있다.

http와 마찬가지로 frame을 사용해 전송하는 프로토콜이다.

STOMP의 Frame 구조