一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

form

 創(chuàng)始元靈6666 2022-08-18 發(fā)布于河北

我們?cè)谄綍r(shí)的postman請(qǐng)求調(diào)試,以及web的http請(qǐng)求開發(fā)時(shí),常常能看到以下幾種傳參的形式 form-data、x-www-form-urlencoded、raw、binary,那么這些請(qǐng)求方式的區(qū)別是什么呢?

postman post param

1、form-data:

就是http請(qǐng)求中的multipart/form-data,它會(huì)將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開。既可以上傳鍵值對(duì),也可以上傳文件。當(dāng)上傳的字段是文件時(shí),會(huì)有Content-Type來(lái)說(shuō)明文件類型;content-disposition,用來(lái)說(shuō)明字段的一些信息;

由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對(duì),它采用了鍵值對(duì)的方式,所以可以上傳多個(gè)文件。

上圖中我們可以看到在postman中form-data選項(xiàng),key是有下拉選擇項(xiàng)的,這也說(shuō)明了form-data類型支持key-value和文件傳輸。

上圖中我們可以看到,明顯的不同的key參數(shù)之間是有boundary分割的。每個(gè)參數(shù)都有Content-Disposition: form-data; name="xxx"信息

2、x-www-form-urlencoded:

就是application/x-www-from-urlencoded,會(huì)將表單內(nèi)的數(shù)據(jù)轉(zhuǎn)換為鍵值對(duì),比如,name=java&age = 23

我們可以看到,這個(gè)形式的傳參方式,postman的key是并沒(méi)有像form-data一樣改出File的下拉選項(xiàng)的,這也說(shuō)明了這種方式只支持string的key-value值傳遞。

在上圖中我們也能明顯的看到在http的body體中傳輸?shù)母袷健M瑫r(shí)我們也看到對(duì)于存在中文和空格的情況,它是會(huì)進(jìn)行轉(zhuǎn)換的。

1、它是post的默認(rèn)格式,使用js中URLencode轉(zhuǎn)碼方法。包括將name、value中的空格替換為加號(hào);將非ascii字符做百分號(hào)編碼;將input的name、value用'=’連接,不同的input之間用'&’連接。
2、百分號(hào)編碼什么意思呢。比如漢字'丁’吧,他的utf8編碼在十六進(jìn)制下是0xE4B881,占3個(gè)字節(jié),把它轉(zhuǎn)成字符串'E4B881’,變成了六個(gè)字節(jié),每?jī)蓚€(gè)字節(jié)前加上百分號(hào)前綴,得到字符串“%E4%B8%81”,變成九個(gè)ascii字符,占九個(gè)字節(jié)(十六進(jìn)制下是0x244534254238253831)。把這九個(gè)字節(jié)拼接到數(shù)據(jù)包里,這樣就可以傳輸“非ascii字符的 utf8編碼的 十六進(jìn)制表示的 字符串的 百分號(hào)形式”,_。
3、同樣使用URLencode轉(zhuǎn)碼,這種post格式跟get的區(qū)別在于,get把轉(zhuǎn)換、拼接完的字符串用'?’直接與表單的action連接作為URL使用,所以請(qǐng)求體里沒(méi)有數(shù)據(jù);而post把轉(zhuǎn)換、拼接后的字符串放在了請(qǐng)求體里,不會(huì)在瀏覽器的地址欄顯示,因而更安全一些。
4、對(duì)于一段utf8編碼的字節(jié),用application/x-www-form-urlencoded傳輸其中的ascii字符沒(méi)有問(wèn)題,但對(duì)于非ascii字符傳輸效率就很低了(漢字'丁’從三字節(jié)變成了九字節(jié)),因此在傳很長(zhǎng)的字節(jié)(如文件)時(shí)應(yīng)用multipart/form-data格式。smtp等協(xié)議也使用或借鑒了此格式。
5、multipart/form-data將表單中的每個(gè)input轉(zhuǎn)為了一個(gè)由boundary分割的小格式,沒(méi)有轉(zhuǎn)碼,直接將utf8字節(jié)拼接到請(qǐng)求體中,在本地有多少字節(jié)實(shí)際就發(fā)送多少字節(jié),極大提高了效率,適合傳輸長(zhǎng)字節(jié)。

3、raw

可以上傳任意格式的文本,可以上傳text、json、xml、html等

http的傳輸格式:

4、binary

相當(dāng)于Content-Type:application/octet-stream,從字面意思得知,只可以上傳二進(jìn)制數(shù)據(jù),通常用來(lái)上傳文件,由于沒(méi)有鍵值,所以,一次只能上傳一個(gè)文件。

postman中也可以看出,下面只有一個(gè)select file的功能。也說(shuō)明只能傳文件。

輔助

postman有個(gè)很好用的功能預(yù)覽代碼,點(diǎn)擊右側(cè)code,選擇格式

有多種格式,尤其是對(duì)于各種語(yǔ)言的功能,比如像Go語(yǔ)言,直接生成代碼,簡(jiǎn)直太6了。大家也可以親自看一下。代碼簡(jiǎn)直是可以直接拿過(guò)去用了。

參考:

1、postman中 form-data、x-www-form-urlencoded、raw、binary的區(qū)別
2、post使用form-data和x-www-form-urlencoded的本質(zhì)區(qū)別

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    久久福利视频在线观看| 国产精品欧美日韩中文字幕| 午夜小视频成人免费看| 黄片在线观看一区二区三区 | 亚洲熟女国产熟女二区三区| 91精品国产综合久久精品| 成人精品视频在线观看不卡| 国产午夜精品亚洲精品国产| 精品少妇一区二区视频| 成年人黄片大全在线观看| 一区二区三区日韩经典| 国产一区一一一区麻豆| 亚洲欧美日韩另类第一页| 国产精品第一香蕉视频| 在线观看欧美视频一区| 在线免费国产一区二区三区 | 色狠狠一区二区三区香蕉蜜桃| 亚洲二区欧美一区二区| 日韩在线中文字幕不卡| 国产精品美女午夜福利| 国产亚洲精品岁国产微拍精品| 午夜传媒视频免费在线观看| 国产免费观看一区二区| 日本午夜乱色视频在线观看| 蜜桃av人妻精品一区二区三区| 护士又紧又深又湿又爽的视频| 久久久精品区二区三区| 午夜日韩在线观看视频| 老富婆找帅哥按摩抠逼视频| 国产成人精品视频一区二区三区| 日韩一区二区三区18| 麻豆tv传媒在线观看| 午夜直播免费福利平台| 日韩精品中文字幕亚洲| 高清在线精品一区二区| 亚洲熟女少妇精品一区二区三区| 精品欧美在线观看国产| 日本午夜福利视频免费观看| 日韩欧美高清国内精品| 国产在线一区中文字幕| 自拍偷女厕所拍偷区亚洲综合|