1. 程式人生 > >關於Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的區別及用法

關於Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的區別及用法

Form的enctype屬性表示頁面表單資料向服務端傳輸時的編碼方式,常用有兩種:application/x-www-form-urlencoded 和 multipart/form-data,預設為application/x-www-form-urlencoded。
1、application/x-www-form-urlencoded:
窗體資料被編碼為名稱/值對,這是標準且預設的編碼格式。當action為get時候,客戶端把form資料轉換成一個字串append到url後面,用?分割。當action為post時候,瀏覽器把form資料封裝到http body中,然後傳送到server。
application/x-www-form-urlencoded 傳遞時的資料構造:
......
username=twm&[email protected]
......

2、multipart/form-data:
multipart表示的意思是單個訊息頭包含多個訊息體的解決方案。multipart媒體型別對傳送非文字的各媒體型別是有用的。一般多用於檔案上傳。

multipart/form-data只是multipart的一種。目前常用的有以下這些型別(注:任何一種執行時無法識別的multipart子型別都被視為子型別"mixed"

)

HTML FORM data (see Ch. 9 and App. B) multipart/form-data
Messages with multiple parts multipart/mixed
Messages with multiple, alternative parts multipart/alternative
Message with multiple, related parts multipart/related
Multiple parts are digests multipart/digest
For reporting of email status (admin.) multipart/report
Order of parts does not matter multipart/parallel
Macintosh file data multipart/appledouble
Aggregate messages; descriptor as header multipart/header-set
Container for voice-mail multipart/voice-message
Infinite multiparts - See Chapter 9 (Netscape) multipart/x-mixed-replace

當客戶端發起起求時:
請求頭包含Content-Type:"multipart/form-data; boundary=---------------------------30613490016641",表明form的enctype為multipart/form-data,同時分隔每個控制元件field的分割符(boundary)是'---------------------------30613490016641'。
請求內容的每個field被分成小部分,而且包含一個value是"form-data"的"Content-Disposition"的頭部;一個"name"屬性對應field的ID。

multipart/form-data 傳遞時的資料構造,見圖:



相關推薦

關於Content-Typeapplication/x-www-form-urlencoded multipart/form-data區別用法

Form的enctype屬性表示頁面表單資料向服務端傳輸時的編碼方式,常用有兩種:application/x-www-form-urlencoded 和 multipart/form-data,預設為application/x-www-form-urlencoded。1、a

Spring MVC 前後臺傳遞json格式數據 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

support style logs ica spring enc json格式數據 分享 技術 報錯如下: Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported

Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported for @RequestBody XXX

orm app support ram supported json 重新 使用 rip 問題描述 前端使用ajax發送post請求發送Json數據,spring mvc報Content type ‘application/x-www-form-urlencoded;ch

解決Spring MVC Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

前言 今天在提交Ajax請求的時候出現下面異常 具體異常 org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;c

獲取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"傳送的 json 資料

request中傳送json資料用post方式傳送Content-type用application/json;charset=utf-8方式傳送的話,直接用springMVC的@RequestBody標籤接收後面跟實體物件就行了,spring會幫你自動拼裝成物件,如果Con

接入WxPusher微信推送服務出現錯誤:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

# 背景 使用WxPusher微信推送服務 ,可以及時的將服務的一些執行異常資訊,傳送到自己的微信上,方便了解服務的執行狀態(PS:這個服務是免費的)。 你可以在這裡看到WxPusher微信推送服務的接入說明文件:[https://wxpusher.zjiecode.com/docs/](https://w

HTML表單提交資料application/x-www-form-urlencodedmultipart/form-data區別

在Form元素的語法中,EncType表明提交資料的格式 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。 下邊是說明: application/x-www-form-urlencoded : 窗體資料被編碼為名稱/值對。這是標準的編

form編碼方式application/x-www-form-urlencodedmultipart/form-data區別

form元素有個enctype屬性,可以指定資料編碼方式,有如下三種: 1. application/x-www-form-urlencoded: 表單資料編碼為鍵值對,&分隔 2. multipart/form-data: 表單資料編碼為一條訊息,每個控制元件對應訊息的一部分 3. text/

常用的編碼方式 application/x-www-form-urlencodedmultipart/form-data

三、常用的編碼方式 form的enctype屬性為編碼方式,常用有兩種:application/x-www-form-urlencoded和multipart/form-data,預設為application/x-www-form-urlencoded。 1.x-www-form-u

淺析application/x-www-form-urlencodedmultipart/form-data區別

在Form元素的語法中,EncType表明提交資料的格式 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。 下邊是說明: application/x-www-form-urlencoded : 窗體資料被編碼為名稱/值對。這是標準的編碼格式

HTML表單提交資料 application/x-www-form-urlencoded multipart/form-data 區別

概述: 在 Form 元素的語法中,EncType 表明提交資料的格式。 用 Enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。  說明:  application/x-www-form-urlencoded:窗體資料被編碼為名稱/值對。這是標準的編

HTTPapplication/x-www-form-urlencoded字元說明

在學習ajax的時候,如果用post請求,需要設定如下程式碼。 ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");11 雖然知道需要這麼做,但是不知道application/x-www-form-urlenc

解決HttpClient工具application/x-www-form-urlencoded表單提交時,請求引數中文亂碼問題

一、引數亂碼現象 當我去請求第三方介面時,介面接收格式為Form表單的時候,使用HttpClient工具類。這時,對於封裝進HttpPost物件裡的請求引數,如果有中文引數,會出現亂碼的現象。 二、程式碼現象復現 controller層 @RestContr

四種常見的 POST 提交數據方式(application/x-www-form-urlencodedmultipart/form-dataapplication/json,text/xml)

.org api 低版本 數據格式 orb 交互 文件類型 告訴 eba HTTP/1.1 協議規定的 HTTP 請求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 這幾種。其中 POST 一般用來向服務端提交數據,本

x-www-form-urlencodedmultipart/form-data區別

app 所有 get filename tar 應該 www mon view http://blog.chinaunix.net/uid-7210505-id-329700.html application/x-www-form-urlencoded 與 multipar

x-www-form-urlencodedmultipart/form-data差異解析

application/x-www-form-urlencoded: 窗體資料被編碼為名稱/值對。這是標準的編碼格式。 multipart/form-data: 窗體資料被編碼為一條訊息,頁上的每個控制元件對應訊息中的一個部分。 text/plain: 窗體資料以純文字形

述 SQL 的 distinct row_number() over() 的區別用法

表示 第一個 字段值 格式 這樣的 操作數 col 例如 from   1 前言    在咱們編寫 SQL 語句操作數據庫中的數據的時候,有可能會遇到一些不太爽的問題,例如對於同一字段擁有相同名稱的記錄,我們只需要顯示一條,但實際上數據庫中可能含有多條擁有相同名稱的記錄,從

JAVAstring.replace()string.replaceAll()的區別用法

mod btn dsm ont match cep 產生 生成 語法 乍一看,字面上理解好像replace只替換第一個出現的字符(受javascript的影響),replaceall替換所有的字符,其實大不然,只是替換的用途不一樣。 public Strin

JDBCPreparedStatement接口提供的execute、executeQueryexecuteUpdate之間的區別用法

ica cat nvi 一個 execute ear let ace 刪除 JDBC中PreparedStatement接口提供的execute、executeQuery和executeUpdate之間的區別及用法 (2012-08-27 09:36:18) 轉載▼

CSS的ID選擇器類選擇器區別用法

W3C標準這樣規定的, 其一:在同一個頁面內, 不允許有相同名字的id物件出現, 但是允許相同名字的class 其二:當頁面中用到js或者要動態呼叫物件的時候,要用到id  控制頁面總共有四種方式行內方式、內嵌方式、連結方式、匯入方式, 通過這四種 方式就可以實現CSS對HTML頁面樣式的控制,如果要讓