4.3 Message Body
The message-body (if any) of an HTTP message is used to carry the entity-body associated with the request or
response. The message-body differs from the entity-body only when a transfer-coding has been applied, as indicated
by the Transfer-Encoding header field (section 14.41).
message-body = entity-body
| <entity-body encoded as per Transfer-Encoding>
Transfer-Encoding MUST be used to indicate any transfer-codings applied by an application to ensure safe
and proper transfer of the message. Transfer-Encoding is a property of the message, not of the entity, and thus
MAY be added or removed by any application along the request/response chain. (However, section 3.6 places
restrictions on when certain transfer-codings may be used.)
The rules for when a message-body is allowed in a message differ for requests and responses.
The presence of a message-body in a request is signaled by the inclusion of a Content-Length or Transfer-Encoding
header field in the request’s message-headers. A message-body MUST NOT be included in a request if
the specification of the request method (section 5.1.1) does not allow sending an entity-body in requests. A server
SHOULD read and forward a message-body on any request; if the request method does not include defined
semantics for an entity-body, then the message-body SHOULD be ignored when handling the request.
For response messages, whether or not a message-body is included with a message is dependent on both the request
method and the response status code (section 6.1.1). All responses to the HEAD request method MUST NOT
include a message-body, even though the presence of entity-header fields might lead one to believe they do. All 1xx
(informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body. All other
responses do include a message-body, although it MAY be of zero length.
The message body must be encoded with the transfer encoding specified (whatever that is). They don't get to add any extra (or less) stuff than what that spells out. It could be the encoding method Mozilla uses isn't supported in the tools you are using. If they don't specify a transfer encoding & the standard doesn't specify other rules (i.e., HTML does for special characters) then you are in the right. But from what you've posted, I can't tell.