STOMP

STOMP
통신 프로토콜
목적메시지 지향 미들웨어
OSI 계층응용 계층 (Layer 7)
약어STOMP

STOMP(Simple (or Streaming) Text Oriented Message Protocol)는 과거 TTMP로 알려졌던 것으로, 메시지 지향 미들웨어(MOM)와 함께 작동하도록 설계된 단순한 텍스트 기반 프로토콜이다. 이는 STOMP 클라이언트가 해당 프로토콜을 지원하는 모든 메시지 브로커와 통신할 수 있게 해주는 상호 운용 가능한 통신 규격을 제공한다.

개요

이 프로토콜은 대체로 HTTP와 유사하며, 다음 명령어를 사용하여 TCP 위에서 작동한다.

클라이언트와 서버 간의 통신은 여러 줄로 구성된 "프레임"을 통해 이루어진다. 첫 번째 줄에는 명령어가 포함되고, 그 뒤에 <key>: <value> 형식의 헤더(줄당 하나)가 오며, 빈 줄을 사이에 두고 본문 내용이 이어진 뒤 널 문자로 끝난다. 서버와 클라이언트 간의 통신은 유사한 형식의 헤더와 본문 내용을 가진 MESSAGE, RECEIPT 또는 ERROR 프레임을 통해 이루어진다.

예시

SEND
destination:/queue/a
content-type:text/plain
hello queue a
^@

여기서 ^@는 널 문자에 대한 캐럿 표기법이다. 각 줄은 LF(\n, ^J, 0x10)로 종료된다.

구현

일부 메시지 지향 미들웨어 제품은 STOMP를 지원하며, 그 예는 다음과 같다.

각주