form元素有個enctype屬性,可以指定數據編碼方式,有如下三種:
1. application/x-www-form-urlencoded: 表單數據編碼為鍵值對,&分隔
2. multipart/form-data: 表單數據編碼為一條消息,每個控件對應消息的一部分
3. text/plain: 表單數據以純文本形式進行編碼
詳細說明:
form的enctype的編碼方式,常用有兩種:
application/x-www-form-urlencoded和multipart/form-data
其中 application/x-www-form-urlencoded為默認編碼方式。
在form的action為get時,瀏覽器用x-www-form-urlencoded的編碼方式,將表單數據編碼為
(name1=value1&name2=value2...),然后把這個字符串append到url后面,用?分隔,跳轉
到這個新的url
當form的action為post時,瀏覽器將form數據封裝到http body中,然后發送到server。
在沒有type=file時候,用默認的 application/x-www-form-urlencoded 就行。
在有 type=file 時候,要用multipart/form-data編碼方式。瀏覽器會把表單以控件為單位分割,
並且為每個部分加上Content-Dispositon(form-data或file)、Content-Type(默認text/plain)、
name(控件name)等信息,並加上分割符(boundary)。