HTTP 方法 Get與Post的區別

2021-07-16 00:01:56 字數 1540 閱讀 4190

什麼是http協議?http協議就是超文字傳輸協議,目的是保證客戶機與伺服器之間的通訊。http的工作方式是客戶機與伺服器之間的請求-應答協議。

下面是http一次請求與應答報文的格式:

http 定義了與伺服器互動的不同方法,常見的方法如下表所示:

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

get:從制定的資源請求資料。

post:向指定的資源提交要被處理的資料。

1.資料傳輸方式

get請求的資料會附在url之後(就是把資料放置在http協議頭中),以?來分割url和傳輸資料,引數之間以&相連。

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

2.傳輸資料長度

get提交的資料長度是有限制的,因為get是通過url提交資料的,那麼get可提交的資料就跟url的長度有關係了。而實際上,url不存在引數上限的問題,http協議規範沒有對url長度進行限制。這個限制是特定的瀏覽器即伺服器對它的限制,不同瀏覽器限制的長度不同。

理論上講,post是沒有大小限制的,起限制作用的是伺服器的處理程式的能力。

3.安全性

post的安全性要比get的安全性高。這裡的安全性不同於上面所說的安全性。在get中提到的安全性是指不作資料的修改,而這裡的安全性就是真正安全的含義。因為通過get提交的資料是會出現在url上的,比如你在登陸某購物**,那麼賬戶密碼都會被顯示出來,通過歷史快取別人就可以拿到你的賬戶密碼。

而post 則是通過表單的方式提交,資料採取加密方式傳送,伺服器接到請求後解析資料。

下面的**是對get和post的比較:

get

post

後退按鈕/重新整理

無害資料會被重新提交(瀏覽器應該告知使用者資料會被重新提交)。

書籤可收藏為書籤

不可收藏為書籤

快取能被快取

不能快取

編碼型別

歷史引數保留在瀏覽器歷史中。

引數不會儲存在瀏覽器歷史中。

對資料長度的限制

是的。當傳送資料時,get 方法向 url 新增資料;url 的長度是受限制的(url 的最大長度是 2048 個字元)。

無限制。

對資料型別的限制

只允許 ascii 字元。

沒有限制。也允許二進位制資料。

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

在傳送密碼或其他敏感資訊時絕不要使用 get !

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

可見性資料在 url 中對所有人都是可見的。

資料不會顯示在 url 中。

HTTP 方法 GET 對比 POST

http 方法 get 對比 post 1 什麼是 http?超文字傳輸協議 http 的設計目的是保證客戶機與伺服器之間的通訊。http 的工作方式是客戶機與伺服器之間的請求 應答協議。web 瀏覽器可能是客戶端,而計算機上的網路應用程式也可能作為伺服器端。2 兩種 http 請求方法 get 和...

HTTP 方法 GET 對比 POST

兩種最常用的 http 方法是 get 和 post。超文字傳輸協議 http 的設計目的是保證客戶機與伺服器之間的通訊。http 的工作方式是客戶機與伺服器之間的請求 應答協議。web 瀏覽器可能是客戶端,而計算機上的網路應用程式也可能作為伺服器端。舉例 客戶端 瀏覽器 向伺服器提交 http 請...

HTTP 方法 GET 對比 POST

兩種最常用的 http 方法是 get 和 post。超文字傳輸協議 http 的設計目的是保證客戶機與伺服器之間的通訊。http 的工作方式是客戶機與伺服器之間的請求 應答協議。web 瀏覽器可能是客戶端,而計算機上的網路應用程式也可能作為伺服器端。舉例 客戶端 瀏覽器 向伺服器提交 http 請...