1)、http 協議是以 ascii 碼 傳輸,建立在 tcp/ip 協議之上的應用層規範。規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。
2)、協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須 使用什麼編碼方式 。實際上,開發者完全可以自己決定訊息主體的格式,只要最後傳送的 http 請求滿足上面的格式就可以。
3)、資料傳送出去,還要服務端解析成功才有意義。一般服務端語言如 php、python 等,以及它們的 framework,都內建了自動解析常見資料格式的功能。服務端通常是根據請求頭(headers)中的 content-type 欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。
form表單中enctype屬性可以用來控制對表單資料的傳送前的如何進行編碼,enctype有三種,分別為:
multipart/form-data不對字元編碼,用於傳送二進位制的檔案,其他兩種型別不能用於傳送檔案;
text/plain用於傳送純文字內容,空格轉換為 「+」 加號,不對特殊字元進行編碼,一般用於email之類的;
四種post中的引數請求方式
first name:
last name:
此時看到
這也是常見的post請求方式,一般用來上傳檔案,各大伺服器的支援也比較好。所以我們使用表單 上傳檔案 時,必須讓表單的enctype屬性值為 multipart/form-data.
它是一種使用 http 作為傳輸協議,xml 作為編碼方式的遠端呼叫規範
postman請求的form-data、x-www-form-urlencoded、raw、binary的區別
1、form-data
等價於http請求中的multipart/form-data,它會將表單的資料處理為一條訊息,以標籤為單元,用分隔符分開。既可以上傳鍵值對,也可以上傳檔案。當上傳的字段是檔案時,會有content-type來表名檔案型別;content-disposition,用來說明欄位的一些資訊;
由於有boundary隔離,所以multipart/form-data既可以上傳檔案,也可以上傳鍵值對,它採用了鍵值對的方式,所以可以上傳多個檔案。
3、raw
可以上傳任意格式的文字,可以上傳text、json、xml、html等
四種常見的post請求中的引數形式
閱讀約 7 分鐘 1 angular的ajax功能 angularjs的ajax的post請求引數就是提交的json字串。如 json.stringify 的方法,服務端也有處理json的函式。請求的引數要處理 json.stringify 1 背景 1 http 協議是以ascii 碼傳輸,建立在...
四種常見的post請求中的引數形式
閱讀約 7 分鐘 1 angular的ajax功能 angularjs的ajax的post請求引數就是提交的json字串。如 json.stringify 的方法,服務端也有處理json的函式。請求的引數要處理 1 背景 1 http 協議是以ascii 碼傳輸,建立在 tcp ip 協議之上的應用...
(七)四種常見的post請求中的引數形式
1 http 協議是以 ascii 碼 傳輸,建立在 tcp ip 協議之上的應用層規範。規範把 http 請求分為三個部分 狀態行 請求頭 訊息主體。2 協議規定 post 提交的資料必須放在訊息主體 entity body 中,但協議並沒有規定資料必須 使用什麼編碼方式 實際上,開發者完全可以自...