GET和POST的區別 (各部落格總結)

2021-10-01 20:43:03 字數 1012 閱讀 1433

本來這屬於http裡面乙個比較細節的問題了,應該放在前面一篇就好不用單列出來講,但是實在是我學習過程中見到各個部落格**你複製過來我複製過去,講得差不多但是好混亂。

從各部落格中總結出來的標準答案如下:

1、概括

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)

2、區別:

1 get在瀏覽器回退時是無害的,而post會再次提交請求。

3 get請求會被瀏覽器主動cache,而post不會,除非手動設定。

4 get請求只能進行url編碼,而post支援多種編碼方式。

5 get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。

6 get請求在url中傳送的引數是有長度限制的,而post麼有。

7 對引數的資料型別,get只接受ascii字元,而post沒有限制。

8 get比post更不安全,因為引數直接暴露在url上,所以不能用來傳遞敏感資訊。

9 get引數通過url傳遞,post放在request body中。

但是對於上面第一條,也就是post傳送兩個包的說法,有一些部落格是贊同的,比如  點這裡

有的認可兩個包但認為 rfc裡面規定100 continue 只有在請求裡帶了

expect: 100-continue
header 的時候才有意義。而實際上任何乙個瀏覽器兩個包是緊隨傳送的  點這裡

還有的就認為 http協議沒有明確說明post要發兩個包 點這裡

而看了這麼多,說實話我很迷,想要搞清楚吧,自己找了兩本網路的書都沒有講到這麼細,下回去圖書館找找細講http的書看吧,rfc的話暫時不考慮了。

最後還有w3school的請求例項和圖表  點這裡

強推這一篇,很全很細節 

點這裡

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方式提交表單,因為有可能...