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,而身份證號 身...