http中的get和post的區別是什麼呢

時間 2021-05-11 08:18:50

1樓:「已登出」

GET 和 POST屬於 Request Methods。

HTTP 的設計是 Semantic,即語義的。

GET:Transfer a current representation of the target resource.

傳輸目標資源的當前表示。

POST: Perform resource-specific processing on the request payload.

根據 payload對特定資源進行處理

其中payload 包括了metadata(比如Content-Type Last-Modified等)和body兩塊。

如果你要獲取資源,使用GET

如果你要對資源進行處理,使用POST

1.GET 能不能帶 payload 呢?

A payload within a GET request message has no defined semantics;

GET沒有對 payload 的語義定義,所以這個 payload 要不要用,要怎麼用取決於開發者的設計。

2樓:總想說點什麼

簡單概括

1 長度

2 url

3 安全性

根據開始設計時候的語義化的思想,應該是獲取資料用get ,傳送資料用post

3樓:李明陽

我覺得目前所有的回答都是表相,而沒有答到本質。

最本質的區別是:

GET用於獲取指定的資源(冪等)POST用於建立/更新某個資源 (非冪等)Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

RFC明確說明:

Request message framing is independent of method semantics, even if the method does not define any use for a message body.

補充一點: @德川家康薛丁格 的說法存在錯誤。

對於Restful來說,GET帶有Body是很普遍的事情,用GET是因為語義限制,帶Body是因為URL長度有限,不是所有網路基礎設施都允許超長URL的。

隨便找個例子給你看,比如挺火的乙個搜尋工具ES:

Request Body Search | Elasticsearch Reference [7.1] | Elastic

文件裡就明確指明了GET可以攜帶Body。

4樓:Anemone

被大佬糾正了,RFC規範允許任何請求都帶body,不過不常用,以至於Mozilla直說了get不帶主體(https://

developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/GET)原答案:

最大的區別在於get請求沒有body部分而post有,也就是說請求能帶的資訊量不同。

介面程式設計中,為什麼只用get和post?

齒輪 這些不過是http請求中的method,而且又也不是什麼大問題。有人不想使用method,想用query和body,甚至header表示 Loikc 我覺得rest這種風格不太適合與瀏覽器之類的客戶端通訊,現在有更好的選擇 graphql,既然這麼喜歡形式主義,那現在就應該選個更好更實用,能幫...

Http請求中的body是哪部分?

The headers are terminated by a blank line CRLF marking the end of the list of headers and the beginning of the entity body.HTTP The Definitive Guide ...

HTTP 協議中 URI 和 URL 有什麼區別?

ruinb0w URI是指在某個規則下讓某個資源能被唯一標識出來,而URL則是URI的子集,其用定位的方式 規則 將某個資源唯一的標識出來.如最高贊的,通過位址標記張三 動物住址協議 地球 中國 浙江省 杭州市 西湖區 某大學 14號宿舍樓 525號寢 張三 這個即是URI又是URL,而身份證號 身...