Get和Post之間的區別

2021-10-23 17:17:59 字數 1424 閱讀 6277

http定義了與伺服器互動的不同方法,最常用的方法有四種put,delete、post,get,即增刪改查。

1.get,它用於獲取資訊,它只是獲取、查詢資料,也就是說它不會修改伺服器上的資料,從這點來講,它是資料安全的,而稍後會提到的post它是可以修改資料的,所以這也是兩者差別之一了。

3.delete 刪除資料。可以通過get/post來實現。用的不多。

4.put,增加、放置資料,可以通過get/post來實現。用的不多。

分類get

post

後退按鈕/重新整理

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

書籤可收藏為書籤

不可收藏為書籤

快取能被快取

不能快取

編碼型別

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

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

對資料長度的限制

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

無限制對資料型別的限制

只允許 ascii 字元。

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

安全性與 post 相比,get 的安全性較差,因為所傳送的資料是 url 的一部分。在傳送密碼或其他敏感資訊時絕不要使用 get !

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

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

資料不會顯示在 url 中。

在約定中,我們的引數是寫在後面,用&分割

解析報文的過程是通過獲取tcp資料,用正則等工具從資料中獲取header和body,從而提取資料,也就是說我們也可以自己約定引數的寫法,只要伺服器能夠解發布來就行了,目前比較流行的一種寫法是:

post相較於get是稍微安全一些的,因為資料在位址列是不可見的。

然後,從傳輸的角度來說,他們都是不安全的,因為http在網路上都是明文傳輸的,只要在網路節點上捉包,就能完整的獲取資料報文。

想要安全的傳輸,就只有加密,使用https。

首先說明這一點,http協議沒有body和url的長度限制,對url限制的大多是瀏覽器和伺服器的原因。

伺服器是因為處理長url要消耗比較多的資源,為了效能和安全(防止惡意構造長url來攻擊)考慮,會給url長度加限制。

有些文章當中提到,post會將header和body分開傳送,先傳送header,服務端返回100狀態碼在傳送body。

http協議中沒有明確說明post會產生兩個tcp資料報,而且實際測試chrome發現,header和body不會分開傳送。

所以,header和body分開傳送是部分瀏覽器或框架的請求方法,不屬於post必然行為。

HTTP中GET和POST之間的區別

一 原理區別 http定義了與伺服器互動的不同方式,其中最基本的方法有4種 get post put delete,分別對應著資源的查 改 增 刪4個操作。由此,get一般用於查詢 獲取資源資訊,而post一般用於更新 修改資源資訊。其中,採用url uniform resource locator...

get和post的區別

在b s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式 get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的...

post和get的區別?

1.get是從伺服器上獲取資料,post是向伺服器傳送資料。get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是傳送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和...