記閱讀POST與GET的區別

2022-05-10 01:16:25 字數 1100 閱讀 6627

閱讀:

【知乎:get和post區別】

【99%的人理解錯 http 中 get 與 post 的區別】

【聽說『99% 的人都理解錯了 http 中 get 與 post 的區別』??】

w3schools的解釋

(本標準答案參考自w3schools)

本質都是tcp鏈結

post與get本質上都是tcp鏈結,並無差別。由於http的規定與瀏覽器伺服器的限制,導致他們在應用過程中體現出一些不同。

get和post是http協議中的兩種傳送請求的方法。

http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp鏈結。

語義區別

rfc7231裡定義了http方法的幾個性質:

safe - 安全    

如果乙個方法的語義在本質上是「唯讀」的,那麼這個方法就是安全的。客戶端向服務端的資源發起的請求如果使用了是安全的方法,就不應該引起服務端任何的狀態變化,因此也是無害的。 此rfc定義,get, head, options 和 trace 這幾個方法是安全的。

idempotent - 冪等  

冪等的概念是指同乙個請求方法執行多次和僅執行一次的效果完全相同。

引入冪等主要是為了處理同乙個請求重**送的情況,比如在請求響應前失去連線,如果方法是冪等的,就可以放心地重發一次請求。這也是瀏覽器在後退/重新整理時遇到post會給使用者提示的原因:post語義不是冪等的,重複請求可能會帶來意想不到的後果。

cacheable - 可快取性  

此rfc裡get,head和某些情況下的post都是可快取的,但是絕大多數的瀏覽器的實現裡僅僅支援get和head。

get的語義是請求獲取指定的資源。get方法是安全、冪等、可快取的(除非有 cache-controlheader的約束),get方法的報文主體沒有任何語義。

post的語義是根據請求負荷(報文主體)對指定的資源做出處理,具體的處理方式視資源型別而不同。post不安全,不冪等,(大部分實現)不可快取。為了針對其不可快取性,有一系列的方法來進行優化,以後有機會再研究(flag已經立起)。

Get與Post的區別

1.href與action的區別 href只能get引數,action能get引數又能post引數 href一般用於單個連線,可以帶引數 url重寫 是採用get方式請求的,在位址列中可以看到所有的引數 action一樣用於表單的提交 如 註冊 等,他可以提交大量和比較複雜的引數,可通過post和g...

Get 與Post 的區別

get 與post 的區別 表單提交中get和post方式的區別有5點 1.get是從伺服器上獲取資料,post是向伺服器傳送資料。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各...

get 與 post 的區別

先簡單的介紹一下 get與 post lget 是以實體的方式得到由請求 uri所指定資源的資訊,如果請求 uri只是乙個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。l post 用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求...