認識content-Type
要學習content-Type,首先要知道它是干什么用的。
Http協(xié)議采用了請求響應模型??蛻舳讼蚍斩税l(fā)送一個請求,請求頭包含請求的方法、url、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務器以一個狀態(tài)行作為相應,相應的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務器信息、實體元新消息以及可能的實體內(nèi)容。
通常HTTP消息由一個啟示行,一個或者多個頭域,一個只是頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭、請求頭、相應頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴展為多行,在每行開始處,使用至少一個空格或制表符。
請求消息和相應消息都可以包含實體信息,實體信息一般由實體頭域和實體組成。實體頭域包含關(guān)于實體的原信息,實體頭包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。
Content-Type是返回消息中非常重要的內(nèi)容,表示后面的文檔屬于什么MIME類型。Content-Type: [type]/[subtype]; parameter。例如最常見的就是text/html,它的意思是說返回的內(nèi)容是文本類型,這個文本又是HTML格式的。原則上瀏覽器會根據(jù)Content-Type來決定如何顯示返回的消息體內(nèi)容。
content-Type與Accept
1.Accept屬于請求頭,content-Type屬于實體頭。
· Http報頭分為通用報頭,請求報頭,響應報頭和實體報頭。
· 請求方的http報頭結(jié)構(gòu):通用報頭|請求報頭|實體報頭
· 響應方的http報頭結(jié)構(gòu):通用報頭|響應報頭|實體報頭
2.(2)Accept代表發(fā)送端(客戶端)希望接受的數(shù)據(jù)類型。
比如:Accept:text/xml;
代表客戶端希望接受的數(shù)據(jù)類型是xml類型
Content-Type代表發(fā)送端(客戶端|服務器)發(fā)送的實體數(shù)據(jù)的數(shù)據(jù)類型。
比如:Content-Type:text/html;
代表發(fā)送端發(fā)送的數(shù)據(jù)格式是html。
二者合起來,
Accept:text/xml;
Content-Type:text/html
即代表希望接受的數(shù)據(jù)類型是xml格式,本次請求發(fā)送的數(shù)據(jù)的數(shù)據(jù)格式是html。