1:Content-Type
MediaType,即是Internet Media Type,互聯網媒體類型;也叫做MIME類型,在Http協議消息頭中,使用Content-Type來表示具體請求中的媒體類型信息。
類型格式:type/subtype(;parameter)? type
主類型,任意的字符串,如text,如果是號代表所有;
subtype 子類型,任意的字符串,如html,如果是號代表所有;
parameter 可選,一些參數,如Accept請求頭的q參數, Content-Type的 charset參數。
常見的媒體格式類型如下:
1. text/html : HTML格式
2. text/plain :純文本格式
3. text/xml : XML格式
4. image/gif :gif圖片格式
5. image/jpeg :jpg圖片格式
6. image/png:png圖片格式
以application開頭的媒體格式類型:
1. application/xhtml+xml :XHTML格式
2. application/xml : XML數據格式
3. application/atom+xml :Atom XML聚合格式
4. application/json : JSON數據格式
5. application/pdf :pdf格式
6. application/msword : Word文檔格式
7. application/octet-stream : 二進制流數據(如常見的文件下載)
8. application/x-www-form-urlencoded : <form encType=””>中默認的encType,form表單數據被編碼為key/value格式發送到服務器(表單默認的提交數據的格式)
另外一種常見的媒體格式是上傳文件之時使用的:
1. multipart/form-data : 需要在表單中進行文件上傳時,就需要使用該格式
2:MIME類型的含義
MIME類型就是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。多用於指定一些客戶端自定義的文件名, 以及一些媒體文件打開方式。
MIME的英文全稱是"Multipurpose Internet Mail Extensions" 多功能Internet 郵件擴充服務,它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但后來也應用到瀏覽器。服務器會將它們發送的多媒體數據的類型告訴瀏覽器,而通知手段就是說明該多媒體數據的MIME類型,從而讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服務器將MIME標志符放入傳送的數據中來告訴瀏覽器使用哪種插件讀取相關文件。
MIME能夠支持非ASCII字符、二進制格式附件等多種格式的郵件消息。這個標准被定義在; RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。 由RFC 822轉變而來的RFC 2822,規定電子郵件標准並不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英語字符消息和二進制文件,圖像,聲音等非文字消息都不能在電子郵件中傳輸。MIME規定了用於表示各種各樣的數據類型的符號化方法。
瀏覽器接收到文件后,會進入插件系統進行查找,查找出哪種插件可以識別讀取接收到的文件。如果瀏覽器不清楚調用哪種插件系統,它可能會告訴用戶缺少某插件,或者直接選擇某現有插件來試圖讀取接收到的文件,后者可能會導致系統的崩潰。傳輸的信息中缺少MIME標識可能導致的情況很難估計,因為某些計算機系統可能不會出現什么故障,但某些計算機可能就會因此而崩潰。
在把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啟動適當的應用程序來處理這個輸出文檔。這可以通過多種類型MIME(多功能網際郵件擴充協議)來完成。在HTTP中,MIME類型被定義在Content-Type header中。
例如,假設你要傳送一個Microsoft Excel文件到客戶端。那么這時的MIME類型就是“application/vnd.ms-excel”。在大多數實際情況中,這個文件然后將傳送給Execl來處理(假設我們設定Excel為處理特殊MIME類型的應用程序)。在ASP.NET中,設定MIME類型的方法是通過Response對象的ContentType屬性。
3:response的contentType
ajax開發中在請求服務器端的響應時, 對於每一種返回類型 規范的做法是要在服務端指定response的contentType 的. (當然 不指定絕大多數情況下也沒什么問題 尤其是返回"非xml"的時候) 。
常遇到下面的幾種情況:
1、 服務端需要返回一段普通文本給客戶端,Content-Type="text/plain"
2 、服務端需要返回一段HTML代碼給客戶端 ,Content-Type="text/html"
3 、服務端需要返回一段XML代碼給客戶端 ,Content-Type="text/xml"
4 、服務端需要返回一段javascript代碼給客戶端,text/javascript
5 、服務端需要返回一段json串給客戶端,application/Json
比較全面的contentType的類型值: