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

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?


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.

Need Your Help

Converting hex color to RGB and vice-versa

colors hex rgb

What is the most efficient way to do this?

jQuery "on create" event for dynamically-created elements

javascript jquery combobox

I need to be able to dynamically create <select> element and turn it into jQuery .combobox(). This should be element creation event, as opposed to some "click" event in which case I could jus...