什么是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等,后面定义具体的种类。

常见的MIME类型

超文本标记语言文本 .html,.html text/html

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

GIF图形 .gif image/gif

JPEG图形 .ipeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

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信息与真正的数据内容分隔开。

mime java_MIME - Wei_java - 博客园相关推荐

  1. Nginx + Tomcat + Session学习 - ﹎敏ō - 博客园

    Nginx + Tomcat + Session学习 - ﹎敏ō - 博客园 Nginx + Tomcat + Session学习 - ﹎敏ō - 博客园 Nginx + Tomcat + Ses ...

  2. 博客园在微信内置浏览器打开时添加微信赞赏码功能

    我的博客开通了赞赏,看右侧悬浮[打赏],很容易弄,文末有链接. 另外,在微信中打开时,博客正文底部增加微信赞赏码,在微信内置浏览器打开时,长按图片识别,直接可以赞赏. 这本人自己摸索的,未参考任何博文 ...

  3. 关于博客园与CSDN博客同步的说明

    把博客园与CSDN比较,我认为博客园有技术内容优势,CSDN有行业资源优势,两者都比较重要.因此在两家网站同步发布博客. CSDN博客地址:http://blog.csdn.net/caoshiyin ...

  4. Python爬虫入门教程 54-100 博客园等博客网站自动评论器

    爬虫背景 爬虫最核心的问题就是解决重复操作,当一件事情可以重复的进行的时候,就可以用爬虫来解决这个问题,今天要实现的一个基本需求是完成"博客园" 博客的自动评论,其实原理是非常简单 ...

  5. 博客园HTML源码运行特制js(原创自Zjmainstay)

    canrun 测试运行HTML <html> <head><title>测试博客园HTML源码运行程序</title><meta http-equ ...

  6. “北京今年入冬的第一场雪”,纪念博客园写日志一年了

    今天是2009年11月1日,北京下了入冬以来的第一场雪,就在昨天我还以为北京还是秋季,可是今天早上醒来看到外面飘落的大雪,已经意识到北京的冬天已经到来了 来博客园写博客一年了,结识了很多朋友,也为社区 ...

  7. 博客园今天早上是不是出现什么问题了?

    下面是我进我的blog后台管理和浏览博客园给出的提示.大约几分钟后恢复正常. 转载于:https://www.cnblogs.com/freeyzh/archive/2004/12/01/71269. ...

  8. Word 2013无法发布文章到博客园

    2018年12月12日突然发现word2013无法发布文章到博客园了, 虽然不常发布博客, 但作为一个强迫症患者, 不折腾好了, 吃肉都不香呀! 删除之前的账户, 想重新注册, 居然遇到了灰色对话框! ...

  9. 【开源】博客园文章编辑器4.0版发布

    源起 最近个人时间多起来了: 于是打算持续写一点东西: 前面写了两篇关于riot.js的东西: 被博客园的领导移出首页了: 原因之一是排版不整齐: 确实是不整齐,这我认, 然而,我自己可是博客园文章编 ...

最新文章

  1. SilverLight.3-Validation:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary...
  2. pybind opencv mat
  3. h3c wa4320配置上网_企业路由不为人知的功能:自动吸粉、上网监控、多宽带合并...
  4. NSDictionary
  5. 《深度探索C++对象模型》--4 Function语意学
  6. Kubernetes初步了解及入门
  7. SalesArea F4 help implementation
  8. docker oracle 11g
  9. ES6展开运算符(...)
  10. linux用rsync实现同步,Linux下使用rsync实现主备机代码同步
  11. InterruptedException的学习
  12. UI设计师如何正确打开暗黑模式|实用素材拿走
  13. 如何在类的外部修改类中的私有数据成员
  14. 项目中遇到一些实用/优秀的代码写法(杂烩)
  15. 聊聊 | 他在Google Play安全奖励计划贡献榜单上排名第一
  16. PEB标记反调试方法
  17. .lib不是有效的Win32应用程序
  18. java定义静态常量_如何在Java中定义常量
  19. Drawable的setBounds方法
  20. CocosDashboard课堂笔记

热门文章

  1. 学生们喜欢在计算机教室上课用英语怎么说,说说学习本课的感想,并谈谈在信息技术课堂上如何体现以学生为主体,教师为主导?...
  2. php+compose+使用,docker使用 docker-compose配置PHP环境(php+nginx+mysql)及启动
  3. 卷积神经网络minst的verilog实现
  4. derhams to php,基于laravel belongsTo使用详解
  5. python executescript_在selenium中一些相对常用的JavaScript事件
  6. 工作原理_逆变器工作原理
  7. python多线程共享全局变量_Python多线程-共享全局变量
  8. mysql查询大于0的标记_MySQL如何查询回答数大于0的问题并分页
  9. chrom禁用浏览器回退按钮不管用_什么?作为程序员你都工作了还不会用Git
  10. java设计高并发内存池_高并发服务器-连接池的设计