WWW FAQ: How can I serve [Word documents, Excel spreadsheets, doughnuts]?


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 [1]
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 [1]
application/x-tcl			Potentially dangerous [1]
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 [1]
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
[1]: 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