SockJS는 어플리케이션이 WebSocket API를 사용하도록 허용하지만, 브라우저에서 WebSocket을 지원하지 않는 경우에 대안으로 어플리케이션의 코드를 변경할 필요 없이 런타임에 필요할 때 대체를 하는 것이다.
SockJS는 다양한 기술을 이용해 웹소켓을 지원하지 않는 브라우저에서 정상적으로 동작하도록 해준다. 전송 타입은 크게 다음의 3가지로 분류된다
WebSocket 위에서 동작하는 문자 기반 메시징 프로토콜, 클라이언트와 서버가 전송할 메시지의 유형, 형식, 내용들을 정의하는 매커니즘이다.
기본적으로 pub/sub 구조로 되어있어, 메시지를 전송하고 받아 처리하는 부분이 확실히 정해져 있다.
http와 마찬가지로 frame을 사용해 전송하는 프로토콜이다.