Table of Contents

Type

The term Internet media type refers to the type of a resource. In short, it defines its structure.

Why Mime ?

The Internet media type is also known as MIME (Multipurpose Internet Mail Extensions) because the media type definition started with the email mime. but ultimately, the media type is the first part of a mime.

For example, in this email content type: 1):

Content-Type: text/plain; charset=us-ascii

the mime or media type is: text/plain (Note that charset is an extra parameter that defines the character set)

Syntax

A media type has the following syntax:

mainType/subType

where mainType is one of the five discrete top-level media types:

  • text for textual information where the subtype:
  • image for image data where the subtypes define the formats (Example: jpeg, gif)
  • audio for audio data. “basic” behind the default subtype.
  • video for video data. The default and initial subtype is mpeg
  • application - for other kind of data that are readable by an application (by default binary data with the subtype octet-stream where the structure is not standardized )

The specific syntax rule is: A string is a valid MIME type with no parameters if it matches the media-type rule defined in section 3.1.1.1 “Media Types” of RFC 7231, but does not contain any ; U+003B characters. In other words, if it consists only of a type and subtype, with no MIME Type parameters.

Plugin

A user agent must not consider the types text/plain and application/octet-stream as having a registered plugin.

List

Registry

The registry is the full published list of media type. It's available at: registry

Example:

audio/mpeg
image/gif
image/jpeg
text/css
text/html
text/javascript
video/mpeg
video/quicktime

Html

  • text/html: HTML document

XML

The term XML MIME type is used to refer to the MIME types:

  • text/xml,
  • application/xml,
  • and any MIME type whose subtype ends with the four characters “+xml”.

RFC3023 - XML Media Types

x-www-form-urlencoded

Media Type - x-www-form-urlencoded

Write once, read many

See What are the Read-optimized File Formats (write once, read many)?

Detection

You can detect it:

Library

Java: probeContentType

Documentation / Reference