關於Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的區別及用法

來源:互聯網
上載者:User

標籤:file   action   esc   上傳   fill   container   aggregate   控制項   log   

Form的enctype屬性工作表示頁面表單資料向服務端傳輸時的編碼方式,常用有兩種:application/x-www-form-urlencoded 和 multipart/form-data,預設為application/x-www-form-urlencoded。
1、application/x-www-form-urlencoded: 
表單資料被編碼為成對的名稱和數值,這是標準且預設的編碼格式。當action為get時候,用戶端把form資料轉換成一個字串append到url後面,用?分割。當action為post時候,瀏覽器把form資料封裝到http body中,然後發送到server。
application/x-www-form-urlencoded 傳遞時的資料構造:
......
username=twm&[email protected]
......

2、multipart/form-data:
multipart表示的意思是單個訊息頭包含多個訊息體的解決方案。multipart媒體類型對發送非文本的各媒體類型是有用的。一般多用於檔案上傳。

multipart/form-data只是multipart的一種。目前常用的有以下這些類型(註:任何一種執行時無法識別的multipart子類型都被視為子類型"mixed")

 

HTML FORM data (see Ch. 9 and App. B) multipart/form-data
Messages with multiple parts multipart/mixed
Messages with multiple, alternative parts multipart/alternative
Message with multiple, related parts multipart/related
Multiple parts are digests multipart/digest
For reporting of email status (admin.) multipart/report
Order of parts does not matter multipart/parallel
Macintosh file data multipart/appledouble
Aggregate messages; descriptor as header multipart/header-set
Container for voice-mail multipart/voice-message
Infinite multiparts - See Chapter 9 (Netscape) multipart/x-mixed-replace

 

 

當用戶端發起起求時:
要求標頭包含Content-Type:"multipart/form-data; boundary=---------------------------30613490016641",表明form的enctype為multipart/form-data,同時分隔每個控制項field的分割符(boundary)是‘---------------------------30613490016641‘。
請求內容的每個field被分成小部分,而且包含一個value是"form-data"的"Content-Disposition"的頭部;一個"name"屬性對應field的ID。

multipart/form-data 傳遞時的資料構造,見圖:

關於Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的區別及用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.