get和post有什麼區別

2021-09-26 03:12:01 字數 832 閱讀 8385

get 和 post 只是 http 協議中兩種請求方式(異曲同工),而 http 協議是基於 tcp/ip 的應用層協議,無論 get 還是 post,用的都是同乙個傳輸層協議,所以在傳輸上,沒有區別。

有人說post 比 get 安全,因為資料在位址列上不可見。

然而,從傳輸的角度來說,他們都是不安全的,因為 http 在網路上是明文傳輸的,只要在網路節點上捉包,就能完整地獲取資料報文。

要想安全傳輸,就只有加密,也就是 https。

get產生乙個tcp資料報;post產生兩個tcp資料報

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

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

也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。

get在瀏覽器回退時是無害的,而post會再次提交請求,因為,get請求瀏覽器有快取,回退時讀取的是快取中的資料. 但是post沒有瀏覽器快取會再次傳送請求,消耗伺服器效能

get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看不到這個過程。

. 對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料

POST和GET有什麼區別

size medium 一 表面區別 我們知道表單form的提交方式有post和get兩種方式,但是這兩種方式有什麼區別呢,知其然也要知其所以然。在操作的時候,我們可以看到一些明顯的區別,從操作表面上來看get把引數新增到action屬性指定的位址中,並以錨方式開啟。在form提交中,可以通過met...

GET和POST有什麼區別?

前幾天有人問我這個問題。我說get是用於獲取資料的,post,一般用於將資料發給伺服器之用。這個答案好像並不是他想要的。於是他繼續追問有沒有別的區別?我說這就是個名字而已,如果伺服器支援,他完全可以把get改個名字叫get2。他反問道,那就是單純的名字上的區別嘍?我想了想,我覺得如果說再具體的區別,...

GET和POST到底有什麼區別?

get和post是我們web開發時最常用到的兩種http請求方法,其實http最初定義了八種方法,而這八種方法在本質上沒有任何區別。它們底層的實現也都是基於tcp ip協議,之所以定義了這麼多,只是讓http請求更加的語義化而已。如果說到區別,那也僅僅是資料傳輸形式上的差異,我們先來看一下這八種方法...