http中post和get的區別

2021-09-26 01:35:28 字數 1279 閱讀 4676

請求快取

get 會被瀏覽器主動快取,而post則不會,除非手動設定。

收藏書籤

get產生的url位址可以被收藏,而post不能。

保留瀏覽器歷史記錄

get請求引數會被完整保留,而post不能。

用處

get 常用於取回資料,post用於提交資料

安全性

post比get 安全。因為get 的url是可見的,可能會洩露私密資訊。

請求引數

get傳輸資料是通過url請求,將請求引數放在url上,post的引數是放在request body裡;(這不是http的要求,只是html標準對http協議的用法的約定)

get 只接受ascii 碼字元,而post沒有限制;

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

(get引數以filed(字段)=value的形式,置於url後,並用"?「連線,多個請求資料之間用」&"連線。)

請求引數長度限制

瀏覽器get 請求長度有限制,get傳輸量小,但效率高;post對引數長度沒有限制,所以上傳檔案用post。

(在http規範中,沒有對url的長度和傳輸的資料大小進行限制。但是在實際開發過程中,對於get,特定的瀏覽器和伺服器/作業系統對url的長度有限制)

瀏覽器回退

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

本質區別

1、http請求的底層協議是tcp/ip,所以post和get 請求它們本質上都是tcp連線。但是為了區分post和get 請求,就設定get 請求的引數新增到url後面,post請求引數新增到請求體中。最重要的區別是:

get 請求只傳送乙個tcp資料報,瀏覽器會把把http header和data一起傳送出去,伺服器響應200(返回資料)。

post請求傳送兩個資料報,瀏覽器會先傳送header建立與伺服器的連線,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200(返回資料)。但是這個也不是絕對的,有的瀏覽器(firefox)post請求就傳送了一次請求。

2、get請求是冪等性的,post請求不是。

冪等性是指對同一url的多個請求應有同樣的***。

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還有其...