Purpose of the +xml MIME Type Suffix
The +xml suffix is a standardized media type naming
convention registered with the Internet Assigned Numbers Authority
(IANA) to indicate that a specific format is based on XML. Defined in
specifications such as RFC 6838 and RFC 7303, this structured syntax
suffix enables software to recognize the underlying syntax of a resource
even if the application does not recognize the specific data format
itself.
The Purpose of Structured Suffixes
Historically, generic media types like text/xml and
application/xml only identified a resource as generic XML
without indicating its specific application semantics. Conversely,
custom media types like image/svg or
application/atom described the semantics but obscured the
fact that the underlying payload was well-formed XML.
The +xml convention bridges this gap by providing a
dual-layer identification mechanism: * The prefix (before
+xml): Identifies the domain-specific format and
application semantics (for example, image/svg or
application/atom). * The suffix
(+xml): Explicitly declares that the data adheres
to XML syntax rules.
Generic XML Processing and Fallback Handling
The primary technical benefit of the +xml suffix is
generic processing. When an application encounters an unfamiliar media
type ending in +xml, it can safely infer several handling
characteristics:
- Syntax Parsing: Any standard XML parser can parse the content into a Document Object Model (DOM) or stream it using SAX/StAX without specialized parsers.
- Encoding Detection: Processors can apply standard
XML rules for character encoding detection, such as reading the byte
order mark (BOM) or the
<?xml encoding="..."?>declaration. - Validation and Display: Tools such as XML formatters, syntax highlighters, and generic tree viewers can properly render and validate the payload as XML.
Security and Filtering
The +xml suffix simplifies security policy enforcement
on network intermediaries, such as Web Application Firewalls (WAFs) and
API gateways. Instead of maintaining an exhaustive list of every
specific XML-based format, security tools can inspect any payload
carrying a */*+xml Content-Type for standard XML
vulnerabilities, including XML External Entity (XXE) injection, entity
expansion attacks (Billion Laughs), and malformed markup.
Common Examples
image/svg+xml– Scalable Vector Graphicsapplication/xhtml+xml– Extensible HyperText Markup Languageapplication/atom+xml– Atom Syndication Formatapplication/soap+xml– SOAP Protocol Messagesapplication/samlassertion+xml– Security Assertion Markup Language (SAML) assertions