HTTP中application/x-www-form-urlencoded字符說明

一、概述

在學習ajax的時候,如果用post請求,需要設置如下代碼。

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;">ajax<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.setRequestHeader</span>(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"content-type"</span>,<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"application/x-www-form-urlencoded"</span>)<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">;</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

雖然知道需要這麼做,但是不知道application/x-www-form-urlencoded表示什麼意思。於是百度學習了下。

二、Form表單語法

在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。

1.x-www-form-urlencoded

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

2.multipart/form-data

當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)。

OK,簡單學習了。

轉自:http://blog.csdn.net/qq_28702545/article/details/51719199

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章