中國(guó)企業(yè)招聘網(wǎng)seo外鏈技巧
Postman中params傳參與Body傳參區(qū)別
在HTTP請(qǐng)求中,參數(shù)可以通過(guò)不同的方式傳遞給服務(wù)器,其中最常見(jiàn)的兩種方式是使用`params`(查詢參數(shù))和`body`(請(qǐng)求體)。以下是它們的主要區(qū)別:
1. 位置:
? ?params:作為URL的一部分傳遞,位于URL的查詢字符串中,即`?`后面的部分。
? ?body:包含在HTTP請(qǐng)求的請(qǐng)求體中,對(duì)于GET請(qǐng)求通常為空,但對(duì)于POST、PUT、PATCH等請(qǐng)求,可以包含大量數(shù)據(jù)。
2. 數(shù)據(jù)量:
? ?params:由于URL長(zhǎng)度限制,傳遞的數(shù)據(jù)量有限。
? ?body:可以傳遞大量數(shù)據(jù),沒(méi)有URL長(zhǎng)度的限制。
3. 數(shù)據(jù)類型:
? ?params:通常用于傳遞鍵值對(duì)形式的簡(jiǎn)單數(shù)據(jù),如表單數(shù)據(jù)。
? ?body:可以包含更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如JSON、XML等格式。
4. 安全性:
? ?params:由于參數(shù)直接暴露在URL中,可能在瀏覽器歷史、服務(wù)器日志等地方留下痕跡,不適合傳遞敏感信息。
? ?body:數(shù)據(jù)包含在請(qǐng)求體中,相對(duì)更安全,但仍然需要注意傳輸過(guò)程的加密。
5. 適用場(chǎng)景:
? ? params:適用于GET請(qǐng)求,傳遞少量數(shù)據(jù),如搜索條件或分頁(yè)參數(shù)。
? ? body:適用于POST、PUT等請(qǐng)求,需要傳遞大量數(shù)據(jù)或復(fù)雜數(shù)據(jù)結(jié)構(gòu)。
6. 編碼要求:
? ?params:由于URL編碼的限制,特殊字符需要進(jìn)行編碼。
? ?body:可以使用不同的媒體類型(如application/json)進(jìn)行傳輸,不需要進(jìn)行URL編碼。
7. 緩存和收藏:
? ? params:由于包含在URL中,可以被瀏覽器緩存和收藏。
? ? body:不會(huì)被瀏覽器緩存或收藏,因?yàn)閿?shù)據(jù)不在URL中。
8. 可讀性:
? ? params:由于直接顯示在URL中,用戶可以直觀地看到傳遞的參數(shù)。
? ? body:用戶無(wú)法直接看到請(qǐng)求體中的數(shù)據(jù),需要通過(guò)開(kāi)發(fā)者工具查看。
總結(jié)來(lái)說(shuō),`params`適用于簡(jiǎn)單、少量的數(shù)據(jù)傳遞,而`body`適用于復(fù)雜、大量的數(shù)據(jù)傳輸。在選擇使用哪種方式時(shí),需要根據(jù)實(shí)際的應(yīng)用場(chǎng)景和需求進(jìn)行考慮。
可以參考的鏈接:
postman中params傳參與body傳參區(qū)別_postman params-CSDN博客
Body中不同類型的區(qū)別
Postman是一個(gè)流行的API開(kāi)發(fā)和測(cè)試工具,它提供了多種方式來(lái)發(fā)送請(qǐng)求。在Postman的Body部分,可以選擇不同的數(shù)據(jù)格式來(lái)發(fā)送請(qǐng)求,以下是form-data
、x-www-form-urlencoded
、raw
和binary
這四種格式的主要區(qū)別:
-
form-data:
- 用于發(fā)送鍵值對(duì)數(shù)據(jù),特別適合發(fā)送文件和二進(jìn)制數(shù)據(jù)。
- 數(shù)據(jù)以
multipart/form-data
編碼,可以包含文本字段和文件。 - 每個(gè)字段都可以有一個(gè)鍵(key)和一個(gè)值(value),文件字段還包含文件名和文件類型。
-
x-www-form-urlencoded:
- 這是表單提交的傳統(tǒng)格式,數(shù)據(jù)以
application/x-www-form-urlencoded
編碼。 - 適用于發(fā)送鍵值對(duì),但不支持文件上傳。
- 字段值被編碼為URL編碼格式,適合發(fā)送ASCII字符數(shù)據(jù)。
- 這是表單提交的傳統(tǒng)格式,數(shù)據(jù)以
-
raw:
- 用于發(fā)送原始格式的數(shù)據(jù),如JSON、XML等。
- 允許用戶輸入純文本數(shù)據(jù),Postman會(huì)根據(jù)選擇的
Content-Type
來(lái)解析和發(fā)送數(shù)據(jù)。 - 用戶需要指定正確的
Content-Type
,如application/json
或text/xml
。
-
binary:
- 用于發(fā)送二進(jìn)制數(shù)據(jù),如圖片、音頻文件等。
- 用戶需要上傳文件,Postman會(huì)自動(dòng)設(shè)置
Content-Type
為相應(yīng)的MIME類型,并發(fā)送文件的二進(jìn)制內(nèi)容。 - 通常不直接在文本框中輸入二進(jìn)制數(shù)據(jù),而是通過(guò)上傳文件來(lái)實(shí)現(xiàn)。
總結(jié)
每種格式的使用場(chǎng)景不同,選擇哪種格式取決于API的要求和需要發(fā)送的數(shù)據(jù)類型:
- 當(dāng)API需要接收文件上傳時(shí),使用
form-data
。 - 當(dāng)API期望接收傳統(tǒng)的表單數(shù)據(jù)時(shí),使用
x-www-form-urlencoded
。 - 當(dāng)API需要接收J(rèn)SON、XML或其他自定義格式的數(shù)據(jù)時(shí),使用
raw
,并指定正確的Content-Type
。 - 當(dāng)API需要接收二進(jìn)制數(shù)據(jù)時(shí),使用
binary
,并上傳相應(yīng)的文件。
可以參考的鏈接:
后端 - Postman 的 Body 中的 form-data、x-www-form-urlencoded、raw、binary 的區(qū)別 - 個(gè)人文章 - SegmentFault 思否