常見的 POST 提交資料方式

2021-07-28 01:50:00 字數 1150 閱讀 6478

http請求方法

根據http標準,http請求可以使用多種請求方法。

http1.0定義了三種請求方法: get, post 和 head方法。

http1.1新增了五種請求方法:options, put, delete, trace 和 connect 方法。 序號

方法描述

1get

請求指定的頁面資訊,並返回實體主體。

2head

類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭

3post

向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。post請求可能會導致新的資源的建立和/或已有資源的修改。

4put

從客戶端向伺服器傳送的資料取代指定的文件的內容。

5delete

請求伺服器刪除指定的頁面。

6connect

http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。

7options

允許客戶端檢視伺服器的效能。

8trace

回顯伺服器收到的請求,主要用於測試或診斷。

我們知道,http 協議是以 ascii 碼傳輸,建立在 tcp/ip 協議之上的應用層規範。規範把 http 請求分為三個部分:狀態行、請求頭、訊息主體。類似於下面這樣:

bash
協議規定 post 提交的資料必須放在訊息主體(entity-body)中,但協議並沒有規定資料必須使用什麼編碼方式。實際上,開發者完全可以自己決定訊息主體的格式,只要最後傳送的 http 請求滿足上面的格式就可以。

但是,資料傳送出去,還要服務端解析成功才有意義。一般服務端語言如 php、python 等,以及它們的 framework,都內建了自動解析常見資料格式的功能。服務端通常是根據請求頭(headers)中的 content-type 欄位來獲知請求中的訊息主體是用何種方式編碼,再對主體進行解析。所以說到 post 提交資料方案,包含了 content-type 和訊息主體編碼方式兩部分。下面就正式開始介紹它們。

multipart/form-data : 窗體資料被編碼為一條訊息,頁上的每個控制項對應訊息中的乙個部分。

當action為post時候,瀏覽器把form資料封裝到http body中,然後傳送到server。

POST提交資料方式

當直接提交form表單時,預設就使用此種方式。這又是乙個常見的 post 資料提交的方式。我們使用表單上傳檔案時,必須讓 form 的 enctyped 等於這個值。上傳資料使用,不過多闡述。json 格式支援比鍵值對複雜得多的結構化資料,這一點也很有用。記得我幾年前做乙個專案時,需要提交的資料層次...

四種常見的 POST 提交資料方式

urlencoded 其次,提交的資料按照 key1 val1 key2 val2 的方式進行編碼,key 和 val 都進行了 url 轉碼。大部分服務端語言都對這種方式有很好的支援。例如 php 中,post title 可以獲取到 title 的值,post sub 可以得到 sub 陣列。這...

四種常見的POST提交資料方式

想寫這篇文章的原因不太想說,哎,十萬個後台十萬個想法。post是前端最常見的一種請求資料方式,比get請求方式更安全的同時,也支援更大的資料傳輸。http協議把http請求分為三個部分 狀態行 請求頭 訊息主體 通過post提交的資料需要放在請求頭的訊息主體中,主要支援以下四種格式,伺服器主要通過對...