A specification for how a protocol's messages can be sent over different underlying communication technologies like HTTP or WebSocket.