Header parameters: “Accept” and “Content-type” in a REST context

The difference can be found in the specifications, in this case RFC 7231:

5.3.2. Accept

The “Accept” header field can be used by user agents to specify
response media types that are acceptable.


3.1.1.5. Content-Type

The “Content-Type” header field indicates the media type of the
associated representation

The Accept header always indicates what kind of response from the server a client can accept. Content-type is about the content of the current request or response, depending on which kind of HTTP message it is applied.

So if a request has no payload, you don’t have to send a content-type request header, and the same goes for your response: no body, no header necessary.

Some servers may require you to provide a content-type in a request even if the request has no payload; the sever should return a 415 Unsupported Media Type response if you omit it.

Leave a Comment