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/htmlxml文档 .xml text/xmlXHTML文档 .xhtml application/xhtml+xml普通文本 .txt text/plainRTF文本 .rtf application/rtfPDF文档 .pdf application/pdfMicrosoft Word文件 .word application/mswordPNG图像 .png image/pngGIF图形 .gif image/gifJPEG图形 .jpeg,.jpg image/jpegau声音文件 .au audio/basicRealAudio音乐文件 .ra, .ram audio/x-pn-realaudioMPEG文件 .mpg,.mpeg video/mpegAVI文件 .avi video/x-msvideo GZIP文件 .gz application/x-gzipTAR文件 .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
新闻热点
疑难解答