關於HTTP中GET和POST的認識

2021-09-03 02:58:07 字數 1568 閱讀 1755

在客戶機和伺服器之間進行請求-響應時,兩種最常被用到的方法是:get和 post

get–>從指定的資源獲取資料

post–>向指定的資源提交要被處理的資料

get方法:,查詢字串(名稱/值對)是在 get請求的 url 中傳送的,及get把引數包含在url中

post:查詢字串(名稱/值對)是在 post 請求的 http 訊息主體中傳送的,及post通過request body傳遞引數。(見w3school)

name1=value1&name2=value2get使用url進行傳參 post使用request body 進行

get在瀏覽器回退/重新整理時時無害 post會再次請求

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

get請求的url是有長度限制的 post沒有

get請求的引數會被儲存在瀏覽器的歷史記錄中 post的引數不會保留

post傳送的資料會更大(get限制url長度)

post能傳送更多的資料型別(get只能傳送ascii字元)

post比get安全(不會作為url的一部分 不會被快取 )

get請求比post請求快

post請求包含更多的請求頭 最重要的一條是post在真正接收資料之前會將請求頭髮送給伺服器進行確認 然後在進行真正發資料

get請求:

瀏覽器請求tcp連線

伺服器答應進行tcp連線

瀏覽器確認,並傳送get請求頭和資料

伺服器返回200 ok響應

post請求:

瀏覽器請求tcp連線

伺服器答應進行tcp連線

瀏覽器確認,並傳送post請求頭

伺服器返回100 continue響應

瀏覽器傳送資料

伺服器返回200 ok響應

1 get和post與資料傳輸是沒有任何關係的

get和post是由http協議定義的。在http協議中,method和data(url, body, header)是正交的兩個概念,也就是說,使用哪個method與應用層的資料如何傳輸是沒有相互關係的。

2 get和post本質上沒有區別

get和post是http傳送請求的兩種方式.

http是什麼?http是基於tcp/ip的關於資料如何在全球資訊網中如何通訊的協議

http的底層是tcp/ip。所以get和post的底層也是tcp/ip.

也就是說,get/post都是tcp鏈結。get和post能做的事情是一樣一樣的。你要給get加上request body,給post帶上url引數,技術上是完全行的通的。

3 http沒有規定get和post的長度

http協議明確地指出了,http頭和body都沒有長度的要求。而對於url長度上的限制,主要是瀏覽器和web伺服器造成的

HTTP中get和post區別

記得剛開始學習web技術的時候老師教我們的get和post區別是什麼 1.get用於獲取資料 post用於提交資料 2.get攜帶的資料大小比post少 3.get不安全 post安全 當開始找工作的時候面試官問我這倆的區別的時候我很自信的重複了之前老師講的區別 面試官問 除了get和post還有其...

Http中get和post請求

http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為 乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。到這裡,大家應...

關於HTTP協議中get和post的區別

get 預設值 是通過url傳遞表單值,資料追加在action屬性後面。post傳遞的表單值是隱藏到http報文體中,url中看不到。1.get提交的資料會放在url之後,以?分割url和傳輸資料,引數之間以 相連,如editposts.aspx?name test1 id 123456.注意對於使...