POST

GoogleDocs發表於2020-10-11

HTTP POST 方法 傳送資料給伺服器. 請求主體的型別由 Content-Type 首部指定.

PUT 和POST方法的區別是,PUT方法是冪等的:連續呼叫一次或者多次的效果相同(無副作用)。連續呼叫同一個POST可能會帶來額外的影響,比如多次提交訂單。

一個 POST 請求通常是通過 HTML 表單傳送, 並返回伺服器的修改結果. 在這種情況下, content type 是通過在 元素中設定正確的 enctype 屬性, 或是在 元素中設定 formenctype 屬性來選擇的:

application/x-www-form-urlencoded: 資料被編碼成以 ‘&’ 分隔的鍵-值對, 同時以 ‘=’ 分隔鍵和值. 非字母或數字的字元會被 percent-encoding: 這也就是為什麼這種型別不支援二進位制資料(應使用 multipart/form-data 代替).
multipart/form-data
text/plain

當 POST 請求是通過除 HTML 表單之外的方式傳送時, 例如使用 XMLHttpRequest, 那麼請求主體可以是任何型別.按HTTP 1.1規範中描述,POST為了以統一的方法來涵蓋以下功能:

  • 註釋已有的資源
  • 在公告板,新聞組,郵件列表或類似的文章組中釋出訊息;
  • 通過註冊新增使用者;
  • 向資料處理程式提供一批資料,例如提交一個表單;
  • 通過追加操作,擴充套件資料庫資料.
請求是否有主體
成功的響應是否有主體
安全
冪等
HTML 表單是否支援
可快取Only if freshness information is included