在我們實(shí)現(xiàn)get/post請(qǐng)求的時(shí)候,需要注意發(fā)送內(nèi)容的編碼格式問(wèn)題
(1)、get請(qǐng)求是將需要發(fā)送的數(shù)據(jù)轉(zhuǎn)化為key=value鍵值對(duì)的形式,然后進(jìn)行urlencode編碼(進(jìn)行urlencode編碼主要是處理特殊的文字,比如說(shuō)中文或者特殊的符號(hào)),然后將處理完成生成的字符串添加到url后面,實(shí)現(xiàn)傳遞參數(shù)的目的。這種編碼格式就是我們經(jīng)常提到的application/x-www-form-urlencoded編碼格式。我們?cè)趯?xiě)form表單的時(shí)候,默認(rèn)情況下都是按照這種編碼格式進(jìn)行數(shù)據(jù)編碼的。
(2)、我們?cè)趯?xiě)表單的時(shí)候,經(jīng)常也會(huì)使用multipart/form-data這種編碼格式,特別是需要通過(guò)form表單上傳文件的時(shí)候,一定需要該編碼格式。這種編碼格式是將需要發(fā)送的數(shù)據(jù)以控件為單位進(jìn)行分割處理,然后添加到http請(qǐng)求中的request body中。
(3)、我們進(jìn)行post請(qǐng)求的時(shí)候,如果不需要上傳文件,我們一般是不會(huì)修改編碼格式的,一般還是采用application/x-www-form-urlencoded編碼格式。采用這種格式也是講需要發(fā)送的數(shù)據(jù)處理成key=value格式的字符串,然后添加到http請(qǐng)求中的request body中。
(4)、另外我們還經(jīng)常使用post發(fā)送json類型的數(shù)據(jù),發(fā)送json類型的數(shù)據(jù)我們需要采用application/json這種編碼格式。