get與post請求區別

2021-08-14 09:58:13 字數 1005 閱讀 5411

一、語義區別

http請求中get的語義是請求獲取資源,是安全、冪等、可快取的,報文主體沒有任何語義。post的語義處理資源是根據請求報文主體,對指定資源做處理,是不安全、不冪等、不可快取的(大部分);

二、表現形式區別

1、get中請求引數是附在url裡,以?分割url和傳輸資料,引數之間以&相連。如果資料是英文本母/數字,原樣傳送,如果是空格,轉換為+,如果是中文/其他字元,則直接把字串用base64加密,以16進製制展示的ascii。所以get能夠提交資料的限制在於url的長度,url的長度是受瀏覽器、伺服器限制;

post中請求內容是在報文體中,因為資料格式可以是二進位制形式等其他形式。post能夠提交資料的限制在於伺服器的引數設定,記憶體大小等

2、http請求基本都是基於tcp連線,一般情況下我們認為是這樣的:

get請求的連線過程是1.瀏覽器請求連線(第一次握手),2.伺服器響應連線(第二次握手),3.瀏覽器確認傳送get請求頭與資料(第三次握手),4.伺服器返回200;post請求連線過程是1.瀏覽器請求連線(第一次握手),2.伺服器響應連線(第二次握手),3.瀏覽器確認傳送post請求頭(第三次握手),4.伺服器返回100 continue響應,5.瀏覽器繼續資料,6.伺服器返回200;

這裡我們可以看到post產生了2個tcp資料報,因而get比post快的乙個原因

之所以說一般情況我們這麼認為,是因為100 continue 只有在請求裡帶了expect: 100-continueheader 的時候才有意義,反過來說就是,你也可以在get請求裡帶 body,一樣可以傳送 expect: 100-continue 並等待 100 continue,這是符合標準的(本人並未對此段內容做過驗證,此處僅是記錄,待校驗)

另乙個get比post快的原因是快取,get請求是可以被瀏覽器快取的,post是不可以的

get與post請求區別

get後退按鈕 重新整理無害,post資料會被重新提交 瀏覽器應該告知使用者資料會被重新提交 get書籤可收藏,post為書籤不可收藏。get能被快取,post不能快取 get歷史引數保留在瀏覽器歷史中。post引數不會儲存在瀏覽器歷史中。get對資料長度有限制,當傳送資料時,get 方法向 url...

Get請求與Post請求的區別

在做高校雲平台期間,相信大家都遇到了傳值問題,估計大家對於get與post的請求方式都已經得心應手。用是用了,但是對於其中的區別,但是,如果不去總結,總感覺這知識自己還沒有掌握,我們今天就來分析一下。在提供伺服器請求的過程中,有兩種方式,分別是 get與post。get請求是最常見的請求型別。最常用...

Get請求與Post請求的區別

1.提交的資料型別 get為文字 post為文字和二進位制資料 2.提交的資料長度 get不超過255個字元 post沒有限制 3.提交資料的可見性 get作為url的一部分顯示在位址列裡 post作為請求的訊息體不可見 4.緩衝 get緩衝在瀏覽器url歷史狀態中 post不會被緩衝 5.表單中 ...