程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 淺析application/x-www-form-urlencoded和multipart/form-data的區別

淺析application/x-www-form-urlencoded和multipart/form-data的區別

編輯:關於PHP編程

在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)等信息,並加上分割符(boundary)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved