Chinaunix首页 | 论坛 | 博客
  • 博客访问: 95059
  • 博文数量: 87
  • 博客积分: 3980
  • 博客等级: 中校
  • 技术积分: 1010
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 06:42
文章分类

全部博文(87)

文章存档

2010年(1)

2009年(86)

我的朋友

分类: LINUX

2009-07-10 12:31:46

MIME, 全称为“Multipurpose Internet Mail Extensions”, 比较确切的中文名称为“多用途互联网邮件扩展”。它是当前广泛应用的一种电子邮件技术规范,基本内容定义于RFC 2045-2049

什么是MIME类型?-在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在Content-Type header中。

例如,架设你要传送一个Microsoft Excel文件到客户端。那么这时的MIME类型就是“application/vnd.ms-excel”。在大多数实际情况中,这个文件然后将传送给 Execl来处理(假设我们设定Execl为处理特殊MIME类型的应用程序)。在ASP中,设定MIME类型的方法是通过Response对象的 ContentType属性。
多媒体文件格式MIME

最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。

MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。

每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。
Internet中有一个专门组织IANA来确认标准的MIME类型,但Internet发展的太快,很多应用程序等不及IANA来确认他们使用的 MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip,x-tar等。事实上这些类型运用的很广泛,已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。而Web服务器和浏览器(包括操作系统)中,缺省都设置了标准的和常见的MIME类型,只有对于不常见的 MIME类型,才需要同时设置服务器和客户浏览器,以进行识别。

由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,例如对于HTML文档,服务器将首先发送以下两行MIME标识信息,这个标识并不是真正的数据文件的一部分。

Content-type: text/html

注意,第二行为一个空行,这是必须的,使用这个空行的目的是将MIME信息与真正的数据内容分隔开。

PHP代码
  1. $filetype=array();    
  2. $filetype['hqx']="application/mac-binhex40";    
  3. $filetype['bin']="application/octet-stream";    
  4. $filetype['oda']="application/oda";    
  5. $filetype['pdf']="application/pdf";    
  6. $filetype['ai']="application/postsrcipt";    
  7. $filetype['eps']="application/postsrcipt";    
  8. $filetype['es']="application/postsrcipt";    
  9. $filetype['rtf']="application/rtf";    
  10. $filetype['mif']="application/x-mif";    
  11. $filetype['csh']="application/x-csh";    
  12. $filetype['dvi']="application/x-dvi";    
  13. $filetype['hdf']="application/x-hdf";    
  14. $filetype['nc']="application/x-netcdf";    
  15. $filetype['cdf']="application/x-netcdf";    
  16. $filetype['latex']="application/x-latex";    
  17. $filetype['ts']="application/x-troll-ts";    
  18. $filetype['src']="application/x-wais-source";    
  19. $filetype['zip']="application/zip";    
  20. $filetype['bcpio']="application/x-bcpio";    
  21. $filetype['cpio']="application/x-cpio";    
  22. $filetype['gtar']="application/x-gtar";    
  23. $filetype['shar']="application/x-shar";    
  24. $filetype['sv4cpio']="application/x-sv4cpio";    
  25. $filetype['sv4crc']="application/x-sv4crc";    
  26. $filetype['tar']="application/x-tar";    
  27. $filetype['ustar']="application/x-ustar";    
  28. $filetype['man']="application/x-troff-man";    
  29. $filetype['sh']="application/x-sh";    
  30. $filetype['tcl']="application/x-tcl";    
  31. $filetype['tex']="application/x-tex";    
  32. $filetype['texi']="application/x-texinfo";    
  33. $filetype['texinfo']="application/x-texinfo";    
  34. $filetype['t']="application/x-troff";    
  35. $filetype['tr']="application/x-troff";    
  36. $filetype['roff']="application/x-troff";    
  37. $filetype['shar']="application/x-shar";    
  38. $filetype['me']="application/x-troll-me";    
  39. $filetype['ts']="application/x-troll-ts";    
  40. $filetype['gif']="image/gif";    
  41. $filetype['jpeg']="image/pjpeg";    
  42. $filetype['jpg']=array("image/pjpeg","image/jpeg");    
  43. $filetype['jpe']="image/pjpeg";    
  44. $filetype['ras']="image/x-cmu-raster";    
  45. $filetype['pbm']="image/x-portable-bitmap";    
  46. $filetype['ppm']="image/x-portable-pixmap";    
  47. $filetype['xbm']="image/x-xbitmap";    
  48. $filetype['xwd']="image/x-xwindowdump";    
  49. $filetype['ief']="image/ief";    
  50. $filetype['tif']="image/tiff";    
  51. $filetype['tiff']="image/tiff";    
  52. $filetype['pnm']="image/x-portable-anymap";    
  53. $filetype['pgm']="image/x-portable-graymap";    
  54. $filetype['rgb']="image/x-rgb";    
  55. $filetype['xpm']="image/x-xpixmap";    
  56. $filetype['txt']="text/plain";    
  57. $filetype['c']="text/plain";    
  58. $filetype['cc']="text/plain";    
  59. $filetype['h']="text/plain";    
  60. $filetype['html']="text/html";    
  61. $filetype['htm']="text/html";    
  62. $filetype['htl']="text/html";    
  63. $filetype['rtx']="text/richtext";    
  64. $filetype['etx']="text/x-setext";    
  65. $filetype['tsv']="text/tab-separated-values";    
  66. $filetype['mpeg']="video/mpeg";    
  67. $filetype['avi']="video/avi";    
  68. $filetype['rm']="video/rm";    
  69. $filetype['rmvb']="video/rmvb";    
  70. $filetype['wmv']="video/x-ms-wmv";    
  71. $filetype['flv']="application/octet-stream";    
  72. $filetype['mpg']="video/mpeg";    
  73. $filetype['mpe']="video/mpeg";    
  74. $filetype['avi']="video/x-msvideo";    
  75. $filetype['qt']="video/quicktime";    
  76. $filetype['mov']="video/quicktime";    
  77. $filetype['moov']="video/quicktime";    
  78. $filetype['movie']="video/x-sgi-movie";    
  79. $filetype['au']="audio/basic";    
  80. $filetype['mp3']="audio/mp3";    
  81. $filetype['snd']="audio/basic";    
  82. $filetype['wav']="audio/wav";    
  83. $filetype['wma']="audio/x-ms-wma";    
  84. $filetype['aif']="audio/x-aiff";    
  85. $filetype['aiff']="audio/x-aiff";    
  86. $filetype['aifc']="audio/x-aiff";    
  87. $filetype['swf']="application/x-shockwave-flash";    
  88. $filetype['doc']="application/msword";    
  89. $filetype['ini']='application/octet-stream';    
  90. ?>   
 

文件后缀
 MIME
 备注
 
*.avi
 video/x-msvideo
 视频文件
 
*.aif *.aiff *.aifc
 audio/x-aiff
 声音文件
 
*.au
*.snd
 audio/basic
 声音文件
 
*.ai
*.eps
*.ps
 application/postscript
 
 
*.asd *.asn
 application/astound
 
 
*.bin *.exe *.com *.dll *.class
 application/octet-stream
 二进制数据文件
 
*.bin
 application/x-macbinary
 
 
*.csv
 text/comma-separated-values
 
 
*.css
 text/css
 Css(样式表文件)
 
*.dwg
 application/acad
 AutoCAD文件
 
*.dxf
 application/dxf
 AutoCAD文件
 
*.dcr *.dir *.dxr
 application/x-director
 
 
*.doc *.dot
 application/msword
 Word类型文件
 
*.gz
 application/gzip
 GNU 压缩格式文件
 
*.gif
 image/gif
 
 
*.hlp *.chm
 application/mshelp
 
 
*.htm *.html *.shtml
 text/html
 
 
*.js
 text/javascript
 
 
*.jpeg *.jpg *.jpe
 image/jpeg
 
 
*.mpeg *.mpg *.mpe
 video/mpeg
 
 
*.mp3
 audio/mpeg
 
 
*.qt *.mov
 video/quicktime
 
 
*.mdb
 application/msaccess
 
 
*.ppt *.ppz *.pps *.pot
 application/mspowerpoint
 
 
*.pdf
 application/pdf
 
 
*.rar
 application/octet-stream
 
 
*.rtf
 application/rtf
 
 
*.rtx
 text/richtext
 
 
*.ram *.ra
 audio/x-pn-realaudio
 
 
*.rm
*.rmvb
 application/vnd.rn-realmedia
 
 
*.swf *.cab
 application/x-shockwave-flash
 
 
*.txt
 text/plain
 
 
*.xls *.xla
 application/msexcel
 
 
*.z
 application/x-compress
 
 
*.zip
 application/x-zip-compressed
 
 
 
阅读(386) | 评论(0) | 转发(0) |
0

上一篇:堆和栈的区别

下一篇:小知识

给主人留下些什么吧!~~