Should Content-Type header be present when the message body is empty?

HttpHttp Headers

Http Problem Overview


Should the Content-Type header be present in an HTTP request or response when there is no payload body?

Is the correct combination of HTTP headers in this case to have no Content-Type and a Content-Length of 0, or should the Content-Type not be present at all when the message lacks a body?

Http Solutions


Solution 1 - Http

RFC 7231 says:

> A sender that generates a message containing a payload body SHOULD > generate a Content-Type header field in that message [...]

So it doesn't say explicitly what to do if you're generating a message that doesn't have a payload body, but it certainly seems implied that not sending a Content-Type header would be appropriate in that case.

Content-Length: 0 is how you would indicate to the receiver that there will be no body, unless you're using something like chunked encoding.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpmckeownView Question on Stackoverflow
Solution 1 - HttpDrGoldfireView Answer on Stackoverflow