Protocol Design
MSRP has similar syntax as other IETF text based protocol such as SIP, HTTP and RTSP. Each message is either a request or a response, uses URIs, a message contains headers and a body that can carry any type of data, including binary information. Unlike SIP, MSRP is much simpler. The first 2 headers must be To-Path and From-Path and the last must be Content-Type, this significantly reduces the complexity of parsers. Messages must also end with 7 dash ('-') characters, followed by a transaction identifier which appears in the first line, these are followed by a continuation flag, which is a single character and end of line (CRLF). This last line at the end of messages makes it rather simple to find and detect the message boundaries. MSRP is not defined for connection-less protocols, such as UDP, thus one be certain that a response to a request would arrive on the same connection. MSRP also relies on transport layer is reliable, that is, guarantees delivery and maintains the order of the messages, which further simplifies the protocol design.
An MSRP URI has a scheme (which is "msrp" or "msrps"), authority, as defined by RFC 3986, which holds the IP/domain name and possibly the port, an optional session identifier, the transport and additional optional parameters. For example:
msrp://atlanta.example.com:7654/jshA7weztas;tcp
- msrp is the scheme
- atlanta.example.com:7654 is the authority
- jshA7weztas is the session identifier
- tcp is the transport
Read more about this topic: Message Session Relay Protocol
Famous quotes containing the word design:
“Humility is often only the putting on of a submissiveness by which men hope to bring other people to submit to them; it is a more calculated sort of pride, which debases itself with a design of being exalted; and though this vice transform itself into a thousand several shapes, yet the disguise is never more effectual nor more capable of deceiving the world than when concealed under a form of humility.”
—François, Duc De La Rochefoucauld (16131680)