How can I serve [Word documents, Excel spreadsheets, doughnuts]?In order to deliver documents of new and different types from your server, you need to configure the correct "content type" for each type of document, and use the proper extension when naming the file on the server. If the document type is highly unusual, you will also need to see to it that users know what content type to configure their browsers for, and what application to launch for that content type.
Presented below is a list of the better-known content types with commentary on those the author is familiar with. This information is drawn from appendix 2 of the author's book, CGI Programming in C and Perl <URL:http://www.boutell.com/cgibook/>. The original list of content types was taken from the public domain NCSA web server <URL:http://hoohoo.ncsa.uiuc.edu/>.
Please note: new media types are coming into existence regularly. The official registry is often well behind actual practice. This list is based on that included with NCSA's public domain web server as of September 1995.
No attempt is made here to document the format of the data associated with these mime types. This list is intended to make it easier to determine what content type should be assigned to documents produced by various well-known applications.
Media Content Type Comments application/activemessage application/andrew-inset application/applefile application/atomicmail application/dca-rft application/dec-dx application/mac-binhex40 application/macwriteii MacWrite Document application/msword Microsoft Word Document application/news-message-id application/news-transmission application/octet-stream Use for binary file downloads application/oda application/pdf Adobe Acrobat Documents application/postscript Postscript application/remote-printing application/rtf Rich Text Format application/slate application/x-mif application/wita application/wordperfect5.1 WordPerfect 5.1 Documents application/wordperfect6.0 WordPerfect 6.0 Documents application/x-csh Potentially dangerous  application/x-dvi TeX/LaTeX Output (not TeX source) application/x-hdf application/x-latex LaTeX Source application/x-netcdf application/x-sh Potentially dangerous  application/x-tcl Potentially dangerous  application/x-tex TeX Source application/x-texinfo application/x-troff Troff Formatter Source application/x-troff-man Troff Source, -man argument assumed application/x-troff-me Troff Source, -me argument assumed application/x-troff-ms Troff Source, -ms argument assumed application/x-wais-source application/zip Many users have ZIP helper apps application/x-bcpio application/x-cpio cpio tape format (Unix) application/x-gtar gnu tar tape format (Unix) application/x-shar Potentially dangerous  application/x-sv4cpio application/x-sv4crc application/x-ustar audio/basic Sun-style .au format audio audio/x-aiff Amiga-format .aiff audio audio/x-wav Microsoft Windows-format .wav audio image/gif Compuserve GIF 8-bit lossless images image/ief image/jpeg JPEG lossy photographic images image/png w3 consortium PNG lossless images image/tiff TIFF format images image/x-cmu-raster image/x-portable-anymap netpbm/pbmplus images (any subtype) image/x-portable-bitmap netpbm/pbmplus black and white images image/x-portable-graymap netpbm/pbmplus grayscale images image/x-portable-pixmap netpbm/pbmplus truecolor images image/x-rgb image/x-xbitmap X Window System black and white images image/x-xpixmap X Window System color images image/x-xwindowdump X Window System screen dump format message/external-body message/news message/partial message/rfc822 multipart/alternative multipart/appledouble multipart/digest multipart/mixed Server push multipart/parallel text/html HTML documents text/x-sgml SGML documents, not limited to HTML text/plain Plain ASCII text text/richtext This is not RTF (see above) text/tab-separated-values Useful for spreadsheet interchange text/x-setext video/mpeg MPEG video format; common on PCs, Unix video/quicktime Apple video format video/x-msvideo Microsoft/Intel AVI video format video/x-sgi-movie: Browsers should almost never be configured to execute shell scripts. This is a dangerous practice as the script in question could simply consist of rm * or another harmful command. Those interested in sending code to the browser should consider safe scripting languages such as Java, Safe-TCL and PGP-SafePerl.
World Wide Web FAQ