HTTP中GET和POST的區別

2021-09-26 14:15:19 字數 1086 閱讀 6940

post

效率本質

可以通過下圖更直**出兩者的區別

關於安全性

場景參考

在http中規定了許多與伺服器進行互動的方法,如get、post、put、delete。其中資源描述符是url,在這裡我們可以這樣理解,乙個url位址可以描述網路中的乙個資源,而前面的get、post、put、delete所對應的分別是對這個資源的查、改、增、刪。

最經常說的就是get是從指定的資源獲取資料,而post是向指定的資源提交將要處理的資料。

get請求的資料會附加在url之後,以?來分割要傳輸的資料,以&來分割不同的引數。資料如果是英文本母或者數字,原樣傳送,如果是空格,轉換為+,如果是中文或者其他字元,則會把相應字串用base64加密,及「%」加上「字串的16進製制ascii碼」,其可被瀏覽器識別,若想檢視可以直接在瀏覽器console.log()檢視。

get是通過url提交資料,因此get可提交的資料量就跟url所能達到的最大長度有直接關係。

實際上http協議對url長度是沒有限制的;限制url長度大多數是瀏覽器或者伺服器的配置引數。

post把提交的資料放在是http包的包體中。

get 執行效率比 post 更高。

其實從本質上來說兩者都是遵從tcp協議。get請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200,返回資料。post請求,瀏覽器先傳送header,伺服器響應100,瀏覽器再傳送data,伺服器響應200,返回資料。

與 post 相比,get 的安全性較差,因為所傳送的資料是 url 的一部分。

post 比 get 更安全,因為引數不會被儲存在瀏覽器歷史或 web 伺服器日誌中。

當提交的資料涉及安全或私隱性資料時,建議使用 post,比如登入操作。

當提交的資料量較大時,建議使用 post,比如註冊。

當資料量不大且不涉及安全性問題時,建議使用 get 具體內容。

簡單http server的設計與實現【軟體工程 software engineering 第20卷第1期】 周 暢,王 賾

SpringMVC中post和get的區別

這是一篇我在csdn上的第一篇部落格,請大家多多支援。在前面我先宣告 這篇文章的內容基本上都是網上各部落格的,我只是整理一下,給需要的人梳理一下而已。首先先放個人覺得比較好的關於post和get的區別的分析的鏈結 在講區別前先講一下 requestbody。requestbody主要用來接收前端傳遞...

在http請求中,get和post有什麼區別

世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。get?post?在做 開發時,大家經常會使用http的get與post方法,但是這兩個method有什麼區別呢?在說區別之前,大家要明白一點,get和post都是基於http協議的,所以本質上是一致的。因此區別是...

HTTP中get和post區別

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