There's a difference between spitting back a static web page preceeded by HTTP
headers and being able to transfer a binary file. The latter requires
encoding and decoding the last I looked.
Anything sent via HTTP will have HTTP headers. That is part of the
HTTP. If you send data without those headers, you are no longer sending
via HTTP anymore. There is also no encoding done by an HTTP server.
Encoded data can be transfered but it is never encoded by the HTTP
server unless you are talking about an HTTPS server which does do some
encoding for security but that is a different transfer protocol.
You mentioned MIME in another post but that has absolutely nothing to do
with HTTP. MIME is an encoding method that can be transferred in many
ways but is most popular in e-mail.