How can the user download binaries (such as .ZIP and .EXE files) from my server?

There is no specialized <DOWNLOAD> tag in HTML. Just do two things: link to the binary in question using a normal <A HREF=...> tag, and make sure that your web server is configured to output a reasonable content type for .zip, .ZIP, .exe and .EXE files. For instance, under the NCSA server, you should verify that the mime.types file in the conf directory contains the following lines at some point. (Always signal the server process to reexamine its configuration files with the kill -1 command after making modifications such as these.)
application/zip                zip ZIP
application/octet-stream       exe EXE
In general, the content type application/octet-stream is an excellent choice when there is no appropriate "external viewer." A typical browser will then prompt the user to save the file.

On occasion, users may have encountered very badly behaved servers which encourage users to set up a specialized external viewer for the application/octet-stream content type. This makes life difficult for everyone. Programmers: please don't encourage users to configure an external viewer for application/octet-stream. That content type should be reserved for downloads. If you have created an external viewer for a brand-new form of information, invent a new and appropriate content type for your application's data and configure your server to output that content type. Make your content type known to the public and encourage other administrators to add it to the mime.types file of their server.

"How do I suggest a filename?"

To encourage the user to save the file under an appropriate filename, do the following:

"So I can use http to download binaries?"

Yes, and practically all browsers are bright enough to save them properly if you follow the suggestions above. It is not necessary to use the ftp protocol for binary downloads.
World Wide Web FAQ