dimitrilc 30 Junior Poster

I came across this article from IBM. It states that a protocol describes the format of the bytes that are transferred over the wire.

A protocol is sometimes referred to as the wire protocol, and it describes the format of the bytes that are transferred over the wire, and the combination of messages, or packets, that are exchanged for a particular operation.

Just out of curiosity, I found what seem to be describing this format for some of the protocols that I am interested in.

  1. For HTTP, I found RFC 7230, section 3. https://www.rfc-editor.org/rfc/rfc7230.html#page-19
  2. For MQTT, I found https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901019, section 2.
  3. For AMQP 0-9-1, I found the spec at https://www.amqp.org/specification/0-9-1/amqp-org-download, section 4.2.1. It says that the file is under the AMQP license, and I am not familiar with that license, so I will not share it here. There is nothing to stop you from downloading it yourself, it seems.

So my question is:

Am I looking at the correct information if I am trying to find out about the format of the bytes for these 3 protocols?

Dani AI

Generated

Good call, — the protocol specifications are the authoritative source for a protocol's wire format. By "format of the bytes" this means the precise framing and encoding rules peers use: message boundaries, header encodings, length fields, control-frame layouts, and character/byte-order rules. Always confirm the exact protocol version and whether an additional transport (TLS, WebSocket, QUIC) or intermediary is wrapping the raw frames.

Short practical differences: HTTP/1.x is a text-based request/response format with CRLF-delimited start-line and headers and explicit length semantics; later HTTP versions use binary frame layers and different framing rules. MQTT is a compact binary publish/subscribe protocol with a small fixed header and a variable-length size field; MQTT 5 added properties that change packet bodies. AMQP 0-9-1 is framed and binary (frame header, channel, payload, frame-end marker); AMQP 1.0 uses a different wire encoding, so do not mix versions.

To inspect real bytes use tools like Wireshark (built-in dissectors) and capture against local servers so TLS does not hide the frames. Read readable primers alongside the formal specs — for example, MDN for HTTP, for MQTT, and RabbitMQ's AMQP 0-9-1 reference for the AMQP 0-9-1 wire layout. Default port filters (HTTP 80/443, MQTT 1883/8883, AMQP 5672/5671) speed up tracing.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.