I don't agree that servers should ALWAYS return a content-type:
because there is a defined default if content-type is missing.
http://info.cern.ch/hypertext/WWW/Protocols/HTTP/Body.html sez:
The data (if any) sent with an HTTP request or reply is in a format
and encoding defined by the object header fields, the default being
"plain/text" type with "8bit" encoding.
*However*, defensive programming would dictate that you be explicit.
Note that the HTTP/1.0 spec:
http://info.cern.ch/hypertext/WWW/Protocols/HTTP/HTTP2.html
has changed a bit over the past few months. Both server and browser
authors should probably re-read it.
--sanders