A MIME type (media type, content type) is a standard identifier in `type/subtype` form that states the kind of data (e.g. text/html, application/json, image/png).
HTTP carries it in the `Content-Type` header so the recipient knows how to interpret and process the body.
The structure is a top-level type (text, image, audio, video, application, multipart) plus a subtype, with optional parameters like `; charset=utf-8` or `; boundary=...`. Unlike a file extension, the MIME type is the authoritative kind declared by the server at transfer time. Common examples are `application/json`, `text/css`, and `multipart/form-data` (file uploads).
A security-critical point: if the server sends the wrong Content-Type, or the browser guesses via 'MIME sniffing,' an uploaded text file might be interpreted as HTML/script and lead to XSS. To prevent this, send an accurate Content-Type and disable sniffing with `X-Content-Type-Options: nosniff`. And the heart of content negotiation is the client stating desired representations via the `Accept` header while the server responds with an appropriate MIME type.