iOS 探讨之 HTTP MIME Content-Type

本文介绍了MIME的起源、作用以及在HTTP中的应用,重点解析了Content-Type头的作用,列举了常见的MIME类型,并探讨了非标准类型以'x-'开头的原因。通过对HTTP网络请求中Content-Type的理解,有助于更好地处理网络数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阐述
在做网络模块时,我们经常需要对网络接收管理的 acceptableContentTypes 做一些设置, 如
    self.operationManager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"application/json",@"text/html",@"text/plain",@"application/octet-stream",nil];

我们大概了解每条项目的大概意义,但是这个东西具体是什么,则没有深入了解过。本着无聊瞎翻翻的态度, 在百度上找了一些资料,整合一下,以供后来研究。

探讨
什么是MIME?
MIME   英文全称 Multipurpose Internet Mail Extensions
            中文全称 多用途互联网邮件扩展类型

百科的解释
是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

笔者的粗见
可以看做是数据类型在传输中的一种约定(标准),双方通过这种约定来确定当前数据是什么类型文件,后续该用怎样的方式进行处理。

大家通过MIME的中文全称也能看出来,它最开始应用于互联网电子邮件领域。后来逐渐发展,万维网HTTP协议中也引进了MIME的框架,这样就能解释通今天我们在做移动端网络模块时能够经常碰见它们。

根据百科的资料,最早的HTTP协议中是没有附加的数据类型信息,所有传输的数据都被客户程序解释为超文本标记语言(HTML文档),后期为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。 MIME类型由 大类别/具体种类 这种形式组成,前面是数据的大类别,例如声音audio、图象image等,后面则是定义数据的具体种类。

一般在HTTP中,MIME类型都是被定义在Content-Type header中。

什么是Content-Type?
Content-Type 定义了数据的类型,以便数据能被适当的处理。有效的类型有:text,image,audio,video,applications,multipart和message。注意任何一个二进制附件都应该被叫做application/octet- stream。

常用的列表
超文本标记语言文本     .html                 text/html
xml文档                         .xml                  text/xml
XHTML文档                  .xhtml               application/xhtml+xml
普通文本                       .txt                    text/plain
RTF文本                       .rtf                    application/rtf
PDF文档                       .pdf                  application/pdf
Microsoft Word文件     .word                application/msword
PNG图像                     .png                  image/png
GIF图形                       .gif                    image/gif
JPEG图形                    .jpeg,.jpg          image/jpeg
au声音文件                  .au                   audio/basic
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

为什么有的种类是…/x-… 这种形式?
Internet中有一个专门组织(IANA)来确认标准的MIME类型,但Internet发展的太快,很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip,x-tar等。事实上这些类型运用的很广泛,已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。

参考资料
1 百度百科

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值