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
新聞熱點
疑難解答