欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Postman form-data、x-www-form-urlencoded的區(qū)別及說明

 更新時間:2025年03月24日 09:05:38   作者:碼靈  
這篇文章主要介紹了Postman form-data、x-www-form-urlencoded的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Postman form-data、x-www-form-urlencoded的區(qū)別

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

1、form-data

就是http請求中的multipart/form-data,它會將表單的數(shù)據(jù)處理為一條消息,以標(biāo)簽為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳文件。

當(dāng)上傳的字段是文件時,會有Content-Type來說明文件類型;content-disposition,用來說明字段的一些信息;由于有boundary隔離,所以multipart/form-data既可以上傳文件,也可以上傳鍵值對,它采用了鍵值對的方式,所以可以上傳多個文件。

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

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

2、x-www-form-urlencoded

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

我們可以看到,這個形式的傳參方式,postman的key是并沒有像form-data一樣改出File的下拉選項的,這也說明了這種方式只支持string的key-value值傳遞。

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

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

3、raw

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

http的傳輸格式:

4、binary

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

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

輔助

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

有多種格式,尤其是對于各種語言的功能,比如像Go語言,直接生成代碼。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java面試題沖刺第二十二天-- Nginx

    Java面試題沖刺第二十二天-- Nginx

    這篇文章主要為大家分享了最有價值的三道關(guān)于Nginx的面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-08-08
  • MybatisPlus調(diào)用原生SQL的實現(xiàn)方法

    MybatisPlus調(diào)用原生SQL的實現(xiàn)方法

    本文主要介紹了MybatisPlus調(diào)用原生SQL的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • java中的按位與(&)用法說明

    java中的按位與(&)用法說明

    這篇文章主要介紹了java中的按位與(&)用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java實現(xiàn)將枚舉類轉(zhuǎn)為json并返回給前端

    Java實現(xiàn)將枚舉類轉(zhuǎn)為json并返回給前端

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)將枚舉類轉(zhuǎn)為json并返回給前端的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • SpringBoot詳細(xì)列舉常用注解的說明

    SpringBoot詳細(xì)列舉常用注解的說明

    在開發(fā)SpringBoot程序的過程中,有可能與其他業(yè)務(wù)系統(tǒng)進(jìn)行對接開發(fā),獲取封裝公共的API接口等等,下面這篇文章主要給大家介紹了關(guān)于SpringBoot常見的注解的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Spring Boot實戰(zhàn)教程之自動配置詳解

    Spring Boot實戰(zhàn)教程之自動配置詳解

    Spring Boot的自動配置給開發(fā)者帶來了很大的便利,當(dāng)開發(fā)人員在pom文件中添加starter依賴后,maven或者gradle會自動下載很多jar包到classpath中。下面這篇文章主要給大家介紹了關(guān)于Spring Boot自動配置的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Java?Bean?Validation使用示例詳解

    Java?Bean?Validation使用示例詳解

    這篇文章主要為大家介紹了Java?Bean?Validation的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • springbootAOP定義切點獲取/修改請求參數(shù)方式

    springbootAOP定義切點獲取/修改請求參數(shù)方式

    這篇文章主要介紹了springbootAOP定義切點獲取/修改請求參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring?容器初始化?register?與?refresh方法

    Spring?容器初始化?register?與?refresh方法

    這篇文章主要介紹了Spring?容器初始化?register?與?refresh方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Java JVM原理與調(diào)優(yōu)_動力節(jié)點Java學(xué)院整理

    Java JVM原理與調(diào)優(yōu)_動力節(jié)點Java學(xué)院整理

    JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,JVM是一種用于計算設(shè)備的規(guī)范,它是一個虛構(gòu)出來的計算機(jī),是通過在實際的計算機(jī)上仿真模擬各種計算機(jī)功能來實現(xiàn)的。下面通過本文給大家介紹jvm原理與調(diào)優(yōu)相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧
    2017-04-04

最新評論