post請求與get請求有什麼不同

時間 2021-09-05 01:58:42

1樓:匿名使用者

你好,@@janet&&&efoonidcuk

hoxogkwckn

1. 區別: 在form裡面,可以使用post也可以使用get。

它們都是method的合法取值。但是,post和get方法在使用上至少有以下幾點不同: 1、get方法通過url請求來傳遞使用者的輸入。

get方法傳遞的引數和值在url上用?name=value&name=value的形式顯示。post方法通過另外的形式。

2、通過get方法提交資料,可能會帶來安全性的問題。比如乙個登陸頁面。當通過get方法提交資料時,使用者名稱和密碼將出現在url上。

如果登陸頁面可以被瀏覽器快取或其他人可以訪問客戶的這台機器。那麼,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。

3、顯然get方法侷限性在於當要傳的值很多是,就不便這樣,否則url可能超長度而出錯。 本人認為如非必要的情況下用post,安全性高一些

2樓:匿名使用者

get請求會在瀏覽器的位址列裡顯示,不安全,而且它還有大小限制最大為1024k,post被封裝在了http協議中傳送,安全(哈哈,不是絕對安全除非你加密傳輸),沒有大小限制,有些請求get發很方便,post發就顯得破煩,有些需要post,比如資料比較大,密碼之內的,這個看情況來定,各有各的優缺點。

3樓:匿名使用者

你好,@@janet&&&rptgfdffbk

isarpwysxn

get一般用於獲取或者查詢資源資訊,而post一般用於更新資源資訊。

post和get的區別

4樓:郝林梅

post和get都是向伺服器提交資料,並且都會從伺服器獲取資料。

區別:2、傳送長度:get引數有長度限制(受限於url長度),而post無限制

3、get和post還有乙個重大區別,簡單的說:

get產生乙個tcp資料報;post產生兩個tcp資料報

長的說:

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。

1. get與post都有自己的語義,不能隨便混用。

2. 據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點。

3. 並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。

建議:

1、get方式的安全性較post方式要差些,包含機密資訊的話,建議用post資料提交方式;

2、在做資料查詢時,建議用get方式;而在做資料新增、修改或刪除時,建議用post方式;

案例:一般情況下,登入的時候都是用的post傳輸,涉及到密碼傳輸,而頁面查詢的時候,如文章id查詢文章,用get 位址列的鏈結為:article.

php?id=11,用post查詢位址列鏈結為:article.

php, 不會將傳輸的資料展現出來。

拓展資料:

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

get產生的url位址可以被bookmark,而post不可以。

get請求會被瀏覽器主動cache,而post不會,除非手動設定。

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

get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。

get請求在url中傳送的引數是有長度限制的,而post麼有。

對引數的資料型別,get只接受ascii字元,而post沒有限制。

get比post更不安全,因為引數直接暴露在url上,所以不能用來傳遞敏感資訊。

get引數通過url傳遞,post放在request body中。

5樓:愛染年

1.首先是"get方法提交的資料最多只能是1024位元組;post是沒有鉅細約束的。

2.在php中,能夠用$_get和$_post分別獲取get和post中的資料,而$_request則能夠獲取get和post兩種懇求中的資料。值得留意的是,jsp中運用request和php中運用$_request都會有隱患。

3.post的安全性要比get的安全性高。比方:

通過get提交資料,使用者名稱和暗碼將明文出現在url上,因為(1)登入頁面有也許被瀏覽器快取,(2)檢查瀏覽器的歷史紀錄,那麼就能夠拿到賬號和暗碼了,除此之外,運用get提交資料還也許會形成cross-site

request forgery進犯。

總結一下,get是向伺服器發討取資料的一種懇求,而post是向伺服器提交資料的一種懇求,在form(表單)中,method默以為"get",實質上,get和post僅僅傳送機制不一樣,並不是乙個取乙個發!

6樓:匿名使用者

1. get是從伺服器上獲取資料,post是向伺服器傳送資料。

2. get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。

使用者看不到這個過程。

3. 對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。

4. get傳送的資料量較小,不能大於2kb。post傳送的資料量較大,一般被預設為不受限制。但理論上,iis4中最大量為80kb,iis5中為100kb。

5. get安全性非常低,post安全性較高。但是執行效率卻比post方法好。

建議:1、get方式的安全性較post方式要差些,包含機密資訊的話,建議用post資料提交方式;

2、在做資料查詢時,建議用get方式;而在做資料新增、修改或刪除時,建議用post方式;

7樓:棒棒糖

post 是被提問到某人身上。例如; a question posted to me

get是得到某樣東西。 例如:i get a question

8樓:匿名使用者

簡單來說,get只是獲取目標**的資料,一般是源**等post不僅獲取目標**的資料,同時向目標**所在的伺服器上輸入一些資訊,比如咱們的使用者名稱,密碼等一些登入的資訊

也就是說,在不改變目標**資料的基礎之上,又可以向目標**輸入新的資訊。

等於就是在get的基礎之上,又增加了輸入使用者名稱,密碼等動作。即get+使用者資訊=post功能

9樓:笑喘是病得抽

get和post之間的主要區別如下:

(1)get是從伺服器上獲取資料,post是向伺服器傳送資料。

(2)在客戶端,get方式在通過url提交資料,資料在url中可以看到;post方式,資料放置在html header內提交。

(3)對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。

(4) get方式提交的資料最多只能有1024位元組,而post則沒有此限制。

(5) 安全性問題。正如在(2)中提到,使用 get 的時候,引數會顯示在位址列上,而 post 不會。所以,如果這些資料是中文資料而且是非敏感資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感資料,那麼還是使用 post為好。

以上引用自iteye中的博文《http之get與post區別》,您可以檢視他的原文。

10樓:蒲公英愛我之歌

get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看不到這個過程。

3對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。

4get傳送的資料量較小,不能大於2kb。post傳送的資料量較大,一般被預設為不受限制。但理論上,iis4中最大量為80kb,iis5中為100kb。

5get安全性非常低,post安全性較高。

6http 定義了與伺服器互動的不同方法,最基本的方法是 get 和 post。事實上 get 適用於多數請求,而保留 post 僅用於更新站點。根據 http 規範,get 用於資訊獲取,而且應該是 安全的和冪等的。

所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,get 請求一般不應產生***。冪等的意味著對同一 url 的多個請求應該返回同樣的結果。

完整的定義並不像看起來那樣嚴格。從根本上講,其目標是當使用者開啟乙個鏈結時,她可以確信從自身的角度來看沒有改變資源。 比如,新聞站點的頭版不斷更新。

雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。post 請求就不那麼輕鬆了。

post 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的註解應該通過 post 請求實現,因為在註解提交之後站點已經不同了

7在form提交的時候,如果不指定method,則預設為get請求,form中提交的資料將會附加在url之後,以?分開與url分開。字母數字字元原 樣傳送,但空格轉換為「+「號,其它符號轉換為%xx,其中xx為該符號以16進製表示的ascii(或iso latin-1)值。

get請求請提交的資料放置在http請求協議頭中,而post提交的資料則放在實體資料中;get方式提交的資料最多只能有1024位元組,而post則沒有此限制

ajax請求的時候get 和post方式的區別

安徽電信網上營業廳 首先看一下get post的區別 1 get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個欄位一一對應,在url中可以看到。post是通過http post機制,將表單內各個欄位與其內容放置在html header內一起傳送到action屬性所指的u...

django 獲取 post 請求值的幾種方法

request.post a request.post.get a django 獲取 post 請求值的幾種方法 1 request.post name 2 request.request.get name 3 form.cleaned data name 這個得用到admin,你多查查吧 dja...

如何用php向伺服器傳送post請求

用php向伺服器傳送http的post請求,如下 array method post header content type application x www form urlencoded content postdata,timeout 15 60 超時時間 單位 s context stre...