HTTP 請(qǐng)求頭中的Content-Type類(lèi)型

在開(kāi)發(fā)中,當(dāng)前端要 POST 發(fā)送數(shù)據(jù)到后端時(shí),通常需要注意設(shè)置請(qǐng)求頭 header 中的 Content-Type 類(lèi)型。
Content-Type 的作用是讓服務(wù)器端對(duì) post 請(qǐng)求中請(qǐng)求體 entity body 中的數(shù)據(jù)進(jìn)行解碼,獲取到對(duì)應(yīng)的數(shù)據(jù)格式。
HTTP 中的 post 請(qǐng)求使用最多的Content-Type 類(lèi)型是: application/json。
Content-Type 的幾種常見(jiàn)類(lèi)型有:

  • application/x-www-form-urlencoded
  • multipart/form-data
  • application/json
  • text/xml
  • binary(application/octet-stream)

下面將分別對(duì)他們進(jìn)行講解:

application/x-www-form-urlencoded

最常見(jiàn)的 POST 提交數(shù)據(jù)的方式,原生Form表單,如果不設(shè)置 enctype 屬性,默認(rèn)為application/x-www-form-urlencoded 方式提交數(shù)據(jù)。

multipart/form-data

一個(gè)常見(jiàn)的 POST 數(shù)據(jù)提交的方式, Form 表單的 enctype 設(shè)置為multipart/form-data,它會(huì)將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符(這就是boundary的作用)分開(kāi)。
它既可以上傳鍵值對(duì),也可以上傳文件,甚至多個(gè)文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type來(lái)說(shuō)明文件類(lèi)型;Content-disposition,用來(lái)說(shuō)明字段的一些信息。每部分都是以 –boundary 開(kāi)始,緊接著是內(nèi)容描述信息,然后是回車(chē),最后是字段具體內(nèi)容(字段、文本或二進(jìn)制等)。如果傳輸?shù)氖俏募?,還要包含文件名和文件類(lèi)型信息。消息主體最后以 –boundary– 標(biāo)示結(jié)束。

application/json

用來(lái)告訴服務(wù)端消息主體是序列化后的 JSON 字符串,其中一個(gè)好處就是JSON 格式支持比鍵值對(duì)復(fù)雜得多的結(jié)構(gòu)化數(shù)據(jù)。

text/xml

提供統(tǒng)一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)

binary(application/octet-stream)

用來(lái)傳輸二進(jìn)制文件類(lèi)型

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容