GET和POST的區別

2021-09-27 11:26:28 字數 1086 閱讀 4957

實際兩者沒啥區別,只是在請求行上乙個是get乙個是post。

get請求可以在請求體上放k-v資料,post也可以在url上加?name=123&。。

但是為了方便區分,http協議按請求伺服器資源的類別劃分出了一大幫put,delete。。兄弟,所以說只用get和post基本夠用了。

1.get常用來從伺服器獲取資源

post常用來提交資訊到伺服器

2.get一般在url上加請求引數資訊,?name=123&。

post一般在請求體加資料,

3.get:url有長度限制(瀏覽器會限制,不同的瀏覽器限制不同),所以攜帶的資料量有限,所以上傳檔案這樣的sao操作一般由post完成。

post一般在請求體加資料,理論上可以一次傳輸資料量沒限制,但tcp協議會根據網路情況進行流量控制,所以一次傳多少和頻寬有關係。

4.geturl對使用者可見,所以不太安全

post一般在請求體加資料,對使用者不可見,所以相對安全

5.get url只支援ascll字符集,寫中文有亂碼

post沒限制,沒有亂碼

接下來重點來了!

6.因為get常用於從伺服器獲取資源,所以對伺服器沒有***,就是重新整理和回退不會對服務有影響,我們常說這樣的請求是冪等的,對應的伺服器的servle介面是冪等介面,那啥是冪等?冪等就是指多次執行和一次執行所產生的影響一樣,有這樣一種情況,兩次get請求拿到的結果不一樣,伺服器端資源有改動,這個並不是說不是冪等的了,依然是冪等的,因為對服務端的修改是其他介面做的。

post不是冪等請求,因為常用於提交表單資料,一次提交和多次提交,服務端的資源就變多了,對伺服器的影響變了,他就不是冪等的,比如註冊賬號,提交以後如果重新整理會進行二次註冊,雖然服務端會有引數驗證不會重複註冊,但是萬一沒有驗證,萬一修改了註冊資訊跳過驗證咋整,所以說一般這樣的功能完成以後會重定向到其他頁面防止重新整理或回退。除了這個其他可以用請求**。

7.get 可以被加入書籤,可以被快取,這是瀏覽器規定的,相信理解了介面冪等,這個很好理解。

post不可以加入書籤或者快取。

實際兩者本質上沒有區別,只是名字不同而已,因為對它的使用方法不同,瀏覽器對它們的支援不同,所有才有了上述的區別,如果手動設定瀏覽器,它們就一毛一樣。

get和post的區別

在b s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式 get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的...

post和get的區別?

1.get是從伺服器上獲取資料,post是向伺服器傳送資料。get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是傳送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和...

post和get的區別

兩者的主要區別在資料傳送方式和接收方式上 1 在客戶端 get方式是通過url提交資料 post方式是提交後位址列是不變的 2 在伺服器端 get方式是利用解析位址列字串的方式,伺服器獲取get提交的值 post方式是以form的形式提交表單引數 一般來說,盡量避免使用get方式提交表單,因為有可能...