Here are a couple of examples of what it would look like:
Request:
Accept: image/gif; class=color; depth=8;
width=1024; height=768; xdpi=85; ydpi=85
Complex return type:
Content-Type: archive/tar; name="foo.tar"; encoding="compress, uuencode"
<HEAD>
<TITLE>HTTP/1.0 MIME and Client Profile Proposal (rough draft)</TITLE>
</HEAD>
<BODY>
<H1>HTTP/1.0 MIME and Client Profile Proposal</H1>
Here are my proposed values for various types of data. The Client
profile information is data the client can send along with the Accept:
field so the server can better choose the return data type.
For example:
<PRE>
Accept: image/gif; class=color; depth=8;
width=1024; height=768; xdpi=85; ydpi=85
</PRE>
With this additional information the server can try to make better choices
about the data it returns like the Aspect Ratio, image size, color or B&W,
etc. <P>
Types marked with a `*' are standard MIME types: <P>
<PRE>
Content-Type: Description
application/dvi dvi TeX DVI
application/latex latex LaTeX Source
*application/octet-stream bin Uninterpreted Binary Data
*application/postscript ai eps ps PostScript
*application/rtf rtf RTF
application/tex tex TeX Source
application/texinfo texi Texinfo
application/wais-source src WAIS Source
application/troff roff Troff
application/troff-ms ms Troff w/MS Macros
application/troff-me me Troff w/ME Macros
application/troff-man man Troff w/MAN Macros
*application/oda oda
*application/atomicmail Atomicmail
*application/andrew-inset Andrew-inset
*application/slate Slate
*application/wita Wang Info Transfer
*application/dec-dx Digital Doc Transfer
*application/dca-rft IBM Doc Content Arch
*application/activemessage
*application/applefile
*application/mac-binhex40
*application/news-message-id RFC 1036
*application/news-transmission RFC 1036
*application/wordperfect5.1
*application/pdf pdf
*application/zip zip PKZIP
*application/macwriteii
*application/msword
*application/remote-printing RFC 1486
archive/bcpio bcpio Old Binary CPIO
archive/cpio cpio IEEE Std1003.2 (``POSIX'') CPIO
archive/gtar gtar Gnu Tar
archive/shar shar Sh Shar
archive/sv4cpio sv4cpio SVR4 CPIO
archive/sv4crc sv4crc SVR4 CPIO w/CRC
archive/tar tar 4.3BSD Tar
archive/ustar ustar IEEE Std1003.2 (``POSIX'') Tar
audio/aiff aiff
*audio/basic au snd 8-bit u-law [PCM] / 8000 Hz
image/cave cave
image/cmu-raster ras
image/elvm evlm
*image/gif gif Graphics Interchange Format
*image/ief ief Image Exchange Format
*image/jpeg jpeg jpg
image/portable-anymap pnm PBM Anymap Format
image/portable-bitmap pbm PBM Bitmap Format
image/portable-graymap pgm PBM Graymap Format
image/portable-pixmap ppm PBM Pixmap Format
image/rgb rgb
*image/tiff tiff tif Tagged Image File Format
image/xbitmap xbm X Bitmaps
image/xwindowdump xwd X Window Dump (xwd)
text/html html HTML
*text/plain txt Plain Text
*text/richtext rtx MIME Richtext format
text/setext etx Structure Enchanced Text
*text/tab-separated-values tsv Tab Separated Values
video/movie movie
*video/mpeg mpeg mpg Motion Picture Experts Group
*video/quicktime qt QuickTime
www/* Reserved Internal WWW type
*multipart/mixed
*multipart/alternative
*multipart/digest
*multipart/parallel
*multipart/appledouble
*message/rfc822
*message/partial
*message/external-body
*message/news
Common Attributes:
q = quality factor (float between 0 and 1 inclusive)
mxb = max transmission bytes
mxt = max transmission time in seconds
name = document name (this is just a hint for save diaglogs)
type = data type (mostly used with application/octet-stream)
charset = e.g., US-ASCII (ISOXXXX)
language = per ISO standard: e.g., en_US (ISO3316/ISO639)
encoding = Description
hqx hqx Mac Compressed
gzip z Gnu Zip Compressed
zip zip gzip Compressed
compress Z compress'ed
uuencode uu uuencode'ed
btoa btoa btoa'ed
Multiple encodings are possible and should be applied right to left
e.g., foo.tar.Z.uu would be encoded as:
Content-Type: archive/tar; name="foo.tar";
encoding="compress, uuencode"
Extended attributes for all image and video types:
class = gray / color
depth = bitplanes (commonly 1, 4, 8, 16, 24)
width = pixels
height = pixels
xdpi = x dpi
ydpi = y dpi
Extended attributes for audio types:
srates = sample rates (in Hz, e.g., srates="8000,22000")
widths = sample sizes (in bits, e.g., "widths="1,8,16")
</PRE>
I encourage browsers to have MIME type -> action be user definable.
Something like: <P>
<PRE>
image/* xv
video/mpeg mpeg_play
audio/basic audio_play
text/html internal-html
text/* internal-text
*/* internal-save-as
</PRE>
An alternative would be to allow execution from your "save as" dialog
like rn does (e.g., "|patch" does what you would expect). <P>
________________________________________
<ADDRESS><A HREF="/hyplan/sanders.html">Tony Sanders</A></ADDRESS>
</BODY>