天天看點

multipart/form-data和application/x-www-form-urlencoded的差別

在Form元素的文法中,EncType表明送出資料的格式

用 Enctype 屬性指定将資料回發到伺服器時浏覽器使用的編碼類型。

下邊是說明:

application/x-www-form-urlencoded: 窗體資料被編碼為名稱/值對。這是标準的編碼格式。

multipart/form-data: 窗體資料被編碼為一條消息,頁上的每個控件對應消息中的一個部分。

text/plain: 窗體資料以純文字形式進行編碼,其中不含任何控件或格式字元。

補充

form的enctype屬性為編碼方式,常用有兩種:application/x-www-form-urlencoded和multipart/form-data,預設為application/x-www-form-urlencoded。

當action為get時候,浏覽器用x-www-form-urlencoded的編碼方式把form資料轉換成一個字串(name1=value1&name2=value2...),然後把這個字串append到url後面,用?分割,加載這個新的url。

當action為post時候,浏覽器把form資料封裝到http body中,然後發送到server。

如果沒有type=file的控件,用預設的application/x-www-form-urlencoded就可以了。

但是如果有type=file的話,就要用到multipart/form-data了。浏覽器會把整個表單以控件為機關分割,并為每個部分加上Content-Disposition(form-data或者file),Content-Type(預設為text/plain),name(控件name)等資訊,并加上分割符

如何聯系我:【萬裡虎】www.bravetiger.cn

【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)

【部落格】http://www.cnblogs.com/kenshinobiy/

繼續閱讀