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.