Skip to content

Content-Type

Description

The Content-Type response header indicates the media type (also known as MIME type) of the resource returned in the response body. This header tells the client what kind of content is being sent, allowing browsers and other clients to properly process and display the received data.

The Content-Type header is essential for ensuring that content is interpreted correctly. Without this header, clients would have to guess the content type based on other factors like file extensions or by examining the content itself, which can lead to incorrect handling. For example, a browser might try to parse HTML as plain text, or display binary data as text.

In addition to specifying the media type, this header can also include a charset parameter for text-based media types, indicating the character encoding used in the content.

Syntax

The syntax of the Content-Type header follows this structure:

Content-Type: <media-type>[; charset=<charset>][; boundary=<boundary>]
  • <media-type>: The MIME type of the content (e.g., text/html, application/json).
  • charset=<charset>: Optional parameter specifying the character encoding (e.g., UTF-8).
  • boundary=<boundary>: Optional parameter used with multipart media types to specify the boundary string.

Example Syntax

Content-Type: text/html; charset=UTF-8

This example indicates that the content is HTML with UTF-8 character encoding.

Content-Type: application/json

This example indicates that the content is JSON.

Examples

HTML Example

A response containing HTML content:

HTTP/1.1 200 OK
Date: Mon, 02 Jun 2025 22:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 241

<!DOCTYPE html>
<html>
<head>
  <title>Example Page</title>
  <meta charset="UTF-8">
</head>
<body>
  <h1>Hello, World!</h1>
  <p>This is an example HTML page.</p>
</body>
</html>

JSON API Example

A response containing JSON data:

HTTP/1.1 200 OK
Date: Mon, 02 Jun 2025 22:10:30 GMT
Content-Type: application/json
Content-Length: 82

{
  "status": "success",
  "data": {
    "id": 123,
    "name": "Example Item"
  }
}

Image Example

A response containing an image:

HTTP/1.1 200 OK
Date: Mon, 02 Jun 2025 22:20:45 GMT
Content-Type: image/png
Content-Length: 12345
Cache-Control: max-age=86400

[... binary PNG data ...]

Multipart Example

A response with multipart content:

HTTP/1.1 200 OK
Date: Mon, 02 Jun 2025 22:30:15 GMT
Content-Type: multipart/form-data; boundary=boundary123
Content-Length: 352

--boundary123
Content-Disposition: form-data; name="field1"

value1
--boundary123
Content-Disposition: form-data; name="file1"; filename="example.txt"
Content-Type: text/plain

Content of the file.
--boundary123--

Summary

The Content-Type response header is a fundamental component of HTTP communication, ensuring that clients correctly interpret and process the content they receive. By explicitly specifying the media type and character encoding, servers enable browsers and other clients to handle content appropriately, whether it's rendering HTML, parsing JSON, displaying images, or processing other types of data. Always including an accurate Content-Type header is essential for proper content handling and a good user experience.