MIME小知识

MIME是一种技术规范,它原来是用于电子邮件的,现在也可以用于浏览器上,传送可以供浏览器识别的信息,关于MIME的知识并是十分难懂的,有一些基本的计算机概念就可以理解了,但如果要进一步使用,就必须注意内容。实际上,我们在上网的时候就已经接触到了MIME,只是浏览器和服务器在底层实现了。

MIME有时候被错误地理解为多媒体Internet邮件扩展(Multimedia Internet Mail Extensions),这是一个错误,但是MIME在网上经常用于多媒体应用程序,所以人们以为这是它是多媒体邮件扩展,而实际上它应该被称为多用途Internet邮件扩展(Multipurpose Internet Mail Extensions),这一点一定要注意,因为有时候内容里根本没有非文本成份。

MIME对于邮件系统的扩展是巨大的,因为在MIME出现以前,信件内容如果要包括声音和动画,就必须把它变为ASCII码或把二进制的信息变成可以传送的编码标准,而接收方必须经过解码才可以获得声音和图画信息。MIME提供了一种可以在邮件中附加多种不同编码文件的方法。这与原来的邮件是大大不同的。而现在MIME已经成为了HTTP协议标准的一个部分。

MIME是服务器通知客户机传送文件是什么类型的主要方法,客户机浏览器也通过MIME告诉服务器它的参数。在网上,如果接收到的文件没有MIME头,就默认它为HTML格式。但这样也不好,因为当MIME的包头是text/plain时,浏览器将直接显示而不关心它的什么字体,颜色之类的参数,这样显示出来的内容可不是很好看呀。

MIME头是什么样子要看它是用在电子邮件中还是用在浏览器上,两者内容可能有所不同。对于邮件头来说,版本号,内容类型声明,编码方式,内容描述是必不可少的。这是用于邮件头中的格式,在下面,我们将重点说到在HTTP中传送MIME头,这时MIME头要简单一些。

下例是一个邮件的标准MIME头:

Mime-Version: 1.0 //版本号:1.0
Content-Type: multipart/mixed; boundary="IMA.Boundary.750407228" //内容类型是多种的
--IMA.Boundary.750407228
Content-Type: text/plain; charset=US-ASCII //内容类型:文本,字符是ASCII的
Content-Transfer-Encoding: 7bit //编码方式:7位
Content-Description: cc:Mail note part

在用于浏览器时,用户不需要知道那么多的信息,所以MIME头就比较简单了。在访问一个网页时,浏览器和服务器之间产生一个会话,作为请求内容的一部分,浏览器发送它能够理解的MIME类型的描述,这就告诉服务器,浏览器除了网页外还可以支持什么,服务器对这个信息一般不作为什么修改。

服务器通过发向客户机的MIME头通知客户浏览器内容是什么,我们看看下面这个头:

Content-type: text/html

在实现的时候,一定要注意MIME头后要跟一个空行,不然这个头会被浏览器忽略,这个头会被当作文本显示出来。当服务器传送GIF图象时,头会如下:

Content-type: image/gif

Content-transfer-encoding: BINARY

通常的MIME内容类型并不起什么作用,浏览器可以自己识别内容的类型,但是如果您使用一些另外的类型,这个问题可就大了,如果你使用了text/postscript,那浏览器会显示下载窗口,或就把这个东西显示出来,那可就不好办了。下面我们介绍一下标准MIME类型。

Text:文本,它用于描述不同类型的文本,包括通常的文本,PostScript和HTML,虽然HTML不是一个可能的子类型。
Multipart:多类型,指出此信息包括多种信息,不止一种类型。
Message:用于标记不同类型的消息。
Application:应用类型。
Image:图象,用于标明图形文件。
Audio:声音,用于标明声音文件。
Video:影象,用于标明动画文件。

每个MIME类型有不同的子类型,实际上,您不可能单独使用类型而不使用子类型,只有一个例外,这就是"telnet"类型。IANA提供45种类型/子类型对支持。当然,标准是开放的,允许用户自定义自己的类型,用户自定义类型要以“X-”开始以示区别。在添加新的类型时,一定要注意,尽量使用已有的类型达到自己的目的。如果非要添加新的类型,一定要保证服务器一方支持这种类型,也要保证客户端也能够通过一些应用程序(如插件)来识别新类型。如果您的网站的访问者很广,不要轻易使用新类型,要么使用已有的类型,或者向IANA提出注册请求。

MIME一览

扩展名         类型/子类型
123            application/vnd.lotus-1-2-3
3gp            video/3gpp
aab            application/x-authoware-bin
aam            application/x-authoware-map
aas            application/x-authoware-seg
ai             application/postscript
aif            audio/x-aiff
aifc           audio/x-aiff
aiff           audio/x-aiff
als            audio/X-Alpha5
amc            application/x-mpeg
ani            application/octet-stream
apk            application/vnd.android.package-archive
asc            text/plain
asd            application/astound
asf            video/x-ms-asf
asn            application/astound
asp            application/x-asap
asx            video/x-ms-asf
au             audio/basic
avb            application/octet-stream
avi            video/x-msvideo
awb            audio/amr-wb
bcpio          application/x-bcpio
bin            application/octet-stream
bld            application/bld
bld2           application/bld2
bmp            application/x-MS-bmp
bpk            application/octet-stream
bz2            application/x-bzip2
cal            image/x-cals
ccn            application/x-cnc
cco            application/x-cocoa
cdf            application/x-netcdf
cgi            magnus-internal/cgi
chat           application/x-chat
class          application/octet-stream
clp            application/x-msclip
cmx            application/x-cmx
co             application/x-cult3d-object
cod            image/cis-cod
cpio           application/x-cpio
cpt            application/mac-compactpro
crd            application/x-mscardfile
csh            application/x-csh
csm            chemical/x-csml
csml           chemical/x-csml
css            text/css
cur            application/octet-stream
dcm            x-lml/x-evm
dcr            application/x-director
dcx            image/x-dcx
dhtml          text/html
dir            application/x-director
dll            application/octet-stream
dmg            application/octet-stream
dms            application/octet-stream
doc            application/msword
dot            application/x-dot
dvi            application/x-dvi
dwf            drawing/x-dwf
dwg            application/x-autocad
dxf            application/x-autocad
dxr            application/x-director
ebk            application/x-expandedbook
emb            chemical/x-embl-dl-nucleotide
embl           chemical/x-embl-dl-nucleotide
eps            application/postscript
eri            image/x-eri
es             audio/echospeech
esl            audio/echospeech
etc            application/x-earthtime
etx            text/x-setext
evm            x-lml/x-evm
evy            application/x-envoy
exe            application/octet-stream
fh4            image/x-freehand
fh5            image/x-freehand
fhc            image/x-freehand
fif            image/fif
fm             application/x-maker
fpx            image/x-fpx
fvi            video/isivideo
gau            chemical/x-gaussian-input
gca            application/x-gca-compressed
gdb            x-lml/x-gdb
gif            image/gif
gps            application/x-gps
gtar           application/x-gtar
gz             application/x-gzip
hdf            application/x-hdf
hdm            text/x-hdml
hdml           text/x-hdml
hlp            application/winhlp
hqx            application/mac-binhex40
htm            text/html
html           text/html
hts            text/html
ice            x-conference/x-cooltalk
ico            application/octet-stream
ief            image/ief
ifm            image/gif
ifs            image/ifs
imy            audio/melody
ins            application/x-NET-Install
ips            application/x-ipscript
ipx            application/x-ipix
it             audio/x-mod
itz            audio/x-mod
ivr            i-world/i-vrml
j2k            image/j2k
jad            text/vnd.sun.j2me.app-descriptor
jam            application/x-jam
jar            application/java-archive
jnlp           application/x-java-jnlp-file
jpe            image/jpeg
jpeg           image/jpeg
jpg            image/jpeg
jpz            image/jpeg
js             application/x-javascript
jwc            application/jwc
kjx            application/x-kjx
lak            x-lml/x-lak
latex          application/x-latex
lcc            application/fastman
lcl            application/x-digitalloca
lcr            application/x-digitalloca
lgh            application/lgh
lha            application/octet-stream
lml            x-lml/x-lml
lmlpack        x-lml/x-lmlpack
lsf            video/x-ms-asf
lsx            video/x-ms-asf
lzh            application/x-lzh
m13            application/x-msmediaview
m14            application/x-msmediaview
m15            audio/x-mod
m3u            audio/x-mpegurl
m3url          audio/x-mpegurl
ma1            audio/ma1
ma2            audio/ma2
ma3            audio/ma3
ma5            audio/ma5
man            application/x-troff-man
map            magnus-internal/imagemap
mbd            application/mbedlet
mct            application/x-mascot
mdb            application/x-msaccess
mdz            audio/x-mod
me             application/x-troff-me
mel            text/x-vmel
mi             application/x-mif
mid            audio/midi
midi           audio/midi
mif            application/x-mif
mil            image/x-cals
mio            audio/x-mio
mmf            application/x-skt-lbs
mng            video/x-mng
mny            application/x-msmoney
moc            application/x-mocha
mocha          application/x-mocha
mod            audio/x-mod
mof            application/x-yumekara
mol            chemical/x-mdl-molfile
mop            chemical/x-mopac-input
mov            video/quicktime
movie          video/x-sgi-movie
mp2            audio/x-mpeg
mp3            audio/x-mpeg
mp4            video/mp4
mpc            application/vnd.mpohun.certificate
mpe            video/mpeg
mpeg           video/mpeg
mpg            video/mpeg
mpg4           video/mp4
mpga           audio/mpeg
mpn            application/vnd.mophun.application
mpp            application/vnd.ms-project
mps            application/x-mapserver
mrl            text/x-mrml
mrm            application/x-mrm
ms             application/x-troff-ms
mts            application/metastream
mtx            application/metastream
mtz            application/metastream
mzv            application/metastream
nar            application/zip
nbmp           image/nbmp
nc             application/x-netcdf
ndb            x-lml/x-ndb
ndwn           application/ndwn
nif            application/x-nif
nmz            application/x-scream
nokia-op-logo  image/vnd.nok-oplogo-color
npx            application/x-netfpx
nsnd           audio/nsnd
nth           application/vnd.nok-s40theme
nva            application/x-neva1
oda            application/oda
oom            application/x-AtlasMate-Plugin
pac            audio/x-pac
pae            audio/x-epac
pan            application/x-pan
pbm            image/x-portable-bitmap
pcx            image/x-pcx
pda            image/x-pda
pdb            chemical/x-pdb
pdf            application/pdf
pfr            application/font-tdpfr
pgm            image/x-portable-graymap
pict           image/x-pict
pm             application/x-perl
pmd            application/x-pmd
png            image/png
pnm            image/x-portable-anymap
pnz            image/png
pot            application/vnd.ms-powerpoint
ppm            image/x-portable-pixmap
pps            application/vnd.ms-powerpoint
ppt            application/vnd.ms-powerpoint
pqf            application/x-cprplayer
pqi            application/cprplayer
prc            application/x-prc
proxy          application/x-ns-proxy-autoconfig
ps             application/postscript
ptlk           application/listenup
pub            application/x-mspublisher
pvx            video/x-pv-pvx
qcp            audio/vnd.qcelp
qt             video/quicktime
qti            image/x-quicktime
qtif           image/x-quicktime
r3t            text/vnd.rn-realtext3d
ra             audio/x-pn-realaudio
ram            audio/x-pn-realaudio
rar            application/x-rar-compressed
ras            image/x-cmu-raster
rdf            application/rdf+xml
rf             image/vnd.rn-realflash
rgb            image/x-rgb
rlf            application/x-richlink
rm             audio/x-pn-realaudio
rmf            audio/x-rmf
rmm            audio/x-pn-realaudio
rmvb           audio/x-pn-realaudio
rnx            application/vnd.rn-realplayer
roff           application/x-troff
rp             image/vnd.rn-realpix
rpm            audio/x-pn-realaudio-plugin
rt             text/vnd.rn-realtext
rte            x-lml/x-gps
rtf            application/rtf
rtg            application/metastream
rtx            text/richtext
rv             video/vnd.rn-realvideo
rwc            application/x-rogerwilco
s3m            audio/x-mod
s3z            audio/x-mod
sca            application/x-supercard
scd            application/x-msschedule
sdf            application/e-score
sea            application/x-stuffit
sgm            text/x-sgml
sgml           text/x-sgml
sh             application/x-sh
shar           application/x-shar
shtml          magnus-internal/parsed-html
shw            application/presentations
si6            image/si6
si7            image/vnd.stiwap.sis
si9            image/vnd.lgtwap.sis
sis            application/vnd.symbian.install
sit            application/x-stuffit
skd            application/x-Koan
skm            application/x-Koan
skp            application/x-Koan
skt            application/x-Koan
slc            application/x-salsa
smd            audio/x-smd
smi            application/smil
smil           application/smil
smp            application/studiom
smz            audio/x-smd
snd            audio/basic
spc            text/x-speech
spl            application/futuresplash
spr            application/x-sprite
sprite         application/x-sprite
spt            application/x-spt
src            application/x-wais-source
stk            application/hyperstudio
stm            audio/x-mod
sv4cpio        application/x-sv4cpio
sv4crc         application/x-sv4crc
svf            image/vnd
svg            image/svg-xml
svh            image/svh
svr            x-world/x-svr
swf            application/x-shockwave-flash
swfl           application/x-shockwave-flash
t              application/x-troff
tad            application/octet-stream
talk           text/x-speech
tar            application/x-tar
taz            application/x-tar
tbp            application/x-timbuktu
tbt            application/x-timbuktu
tcl            application/x-tcl
tex            application/x-tex
texi           application/x-texinfo
texinfo        application/x-texinfo
tgz            application/x-tar
thm            application/vnd.eri.thm
tif            image/tiff
tiff           image/tiff
tki            application/x-tkined
tkined         application/x-tkined
toc            application/toc
toy            image/toy
tr             application/x-troff
trk            x-lml/x-gps
trm            application/x-msterminal
tsi            audio/tsplayer
tsp            application/dsptype
tsv            text/tab-separated-values
tsv            text/tab-separated-values
ttf            application/octet-stream
ttz            application/t-time
txt            text/plain
ult            audio/x-mod
ustar          application/x-ustar
uu             application/x-uuencode
uue            application/x-uuencode
vcd            application/x-cdlink
vcf            text/x-vcard
vdo            video/vdo
vib            audio/vib
viv            video/vivo
vivo           video/vivo
vmd            application/vocaltec-media-desc
vmf            application/vocaltec-media-file
vmi            application/x-dreamcast-vms-info
vms            application/x-dreamcast-vms
vox            audio/voxware
vqe            audio/x-twinvq-plugin
vqf            audio/x-twinvq
vql            audio/x-twinvq
vre            x-world/x-vream
vrml           x-world/x-vrml
vrt            x-world/x-vrt
vrw            x-world/x-vream
vts            workbook/formulaone
wav            audio/x-wav
wax            audio/x-ms-wax
wbmp           image/vnd.wap.wbmp
web            application/vnd.xara
wi             image/wavelet
wis            application/x-InstallShield
wm             video/x-ms-wm
wma            audio/x-ms-wma
wmd            application/x-ms-wmd
wmf            application/x-msmetafile
wml            text/vnd.wap.wml
wmlc           application/vnd.wap.wmlc
wmls           text/vnd.wap.wmlscript
wmlsc          application/vnd.wap.wmlscriptc
wmlscript      text/vnd.wap.wmlscript
wmv            audio/x-ms-wmv
wmx            video/x-ms-wmx
wmz            application/x-ms-wmz
wpng           image/x-up-wpng
wpt            x-lml/x-gps
wri            application/x-mswrite
wrl            x-world/x-vrml
wrz            x-world/x-vrml
ws             text/vnd.wap.wmlscript
wsc            application/vnd.wap.wmlscriptc
wv             video/wavelet
wvx            video/x-ms-wvx
wxl            application/x-wxl
x-gzip         application/x-gzip
xar            application/vnd.xara
xbm            image/x-xbitmap
xdm            application/x-xdma
xdma           application/x-xdma
xdw            application/vnd.fujixerox.docuworks
xht            application/xhtml+xml
xhtm           application/xhtml+xml
xhtml          application/xhtml+xml
xla            application/vnd.ms-excel
xlc            application/vnd.ms-excel
xll            application/x-excel
xlm            application/vnd.ms-excel
xls            application/vnd.ms-excel
xlt            application/vnd.ms-excel
xlw            application/vnd.ms-excel
xm             audio/x-mod
xml            text/xml
xmz            audio/x-mod
xpi            application/x-xpinstall
xpm            image/x-xpixmap
xsit           text/xml
xsl            text/xml
xul            text/xul
xwd            image/x-xwindowdump
xyz            chemical/x-pdb
yz1            application/x-yz1
z              application/x-compress
zac            application/x-zaurus-zac
zip            application/zip

上一篇: 动易开源发布SiteWeaver6.5系列产品
下一篇: 在Word 2003中创建目录
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4295
发表评论
登录后再发表评论!