iOS 探讨之 HTTP MIME Content-Type
来源:互联网 发布:linux 电池驱动 编辑:程序博客网 时间:2024/05/22 18:28
阐述
在做网络模块时,我们经常需要对网络接收管理的 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 百度百科
http://baike.baidu.com/link?url=B0RHRoKg2MhGkWP44tC7xtpwJV0YUYDmjT7hkRf5mpTEqWT7ahxyfYdFzXEG92pYrWIQj2VW06v3FluOsI9Vpq#3
0 0
- iOS 探讨之 HTTP MIME Content-Type
- HTTP协议探索之Content-Type(MIME)
- MIME : HTTP协议 : Content-Type
- HTTP之Content-Type
- Android HTTP Content-type( Mime-Type)对照表
- MIME Content Type code
- MIME类型Content-type
- MIME类型,Content-Type
- MIME的content-type
- 常见文件http中content-type头值(MIME类型)
- 常见文件http中content-type头值(MIME类型)
- 常见MIME类型(http的content type)
- http中content-type头值-(MIME类型)
- http中content-type头值-(MIME类型)
- http中content-type头值-(MIME类型)
- mime type与content type
- mime-type与content-type
- 理解HTTP之Content-Type
- 在解压tar.gz文件的时候报错
- Android MVVM结合DataBinding的简单实用(Android studio)及自己遇到的坑
- RNA_Seq差异表达分析流程
- Android动画学习总结
- 自动筛选的逻辑(6)-对可见单元“写”数据
- iOS 探讨之 HTTP MIME Content-Type
- 您应该知道的UNIX工具系列之2:Netcat
- 通过Hibernate操纵对象(下)
- POJ3117——World Cup
- 简单粗暴:使用pycharm安装对应的Python版本第三方包
- lvs(+keepalived)、haproxy(+heartbeat)、nginx 负载均衡的比较分析
- 文件下载功能
- Apache2.4负载均衡配置
- MyEclipse安装JS代码提示(Spket插件)