http get與post請求區別

2021-07-08 13:10:15 字數 1491 閱讀 7839

1.http請求格式:

在http請求中,第一行必須是乙個請求行(request line),用來說明請求型別、要訪問的資源以及使用的http版本。緊接著是乙個首部(header)小節,用來說明伺服器要使用的附加資訊。在首部之後是乙個空行,再此之後可以新增任意的其他資料[稱之為主體(body)]。

2.get與post區別

http定義了與伺服器互動的不同方法,最基本的方法是 get 和 post.

http-get和http-post是使用http的標準協議動詞,用於編碼和傳送變數名/變數值對引數,並且使用相關的請求語義。每個http-get和http-post都由一系列http請求頭組成,這些請求頭定義了客戶端從伺服器請求了什麼,而響應則是由一系列http應答頭和應答資料組成,如果請求成功則返回應答。

與http-get類似,http-post引數也是被url編碼的。然而,變數名/變數值不作為url的一部分被傳送,而是放在實際的http請求訊息內部被傳送。

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

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

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

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

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

注:所謂安全的意味著該操作用於獲取資訊而非修改資訊。冪等的意味著對同一 url 的多個請求應該返回同樣的結果。完整的定義並不像看起來那樣嚴格。換句話說,get 請求一般不應產生***。從根本上講,其目標是當使用者開啟乙個鏈結時,她可以確信從自身的角度來看沒有改變資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。post 請求就不那麼輕鬆了。post 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的註解應該通過 post 請求實現,因為在註解提交之後站點已經不同了(比方說文章下面出現一條註解)。

下面舉乙個簡單的例子來說明它們的區別:

<% if request.querystring("text") <> "" then %>

通過get方式傳遞的字串是: "<%= request.querystring("text") %>"

<% end if %>

<% if request.form("text") <> "" then %>

通過post方式傳遞的字串是: "<%= request.form("text") %>"

<% end if %>

http get或者post請求獲取引數

1.getquerystring 只適用於get,比如客戶端傳送http localhost testservlet?a b c d e f,通過request.getquerystring 得到的是a b c d e f.2.getparameter get和post都可以使用 但如果是post請...

http get和post請求的區別

get和post請求都是http的請求方式,具體點來講get一般用於獲取 查詢資源資訊,而post一般用於更新資源資訊。1 get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來.get提交,請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,...

http get和post請求的區別

get和post都是http請求的方式,get一般用於資源資訊的獲取,post一般用於資源資訊的更新操作。主要區別在於get請求提交的資料會在位址列顯示出來,而post請求不會再位址列顯示出來。get請求提交的資料會附著在url之後,用?分割開來,多個資料傳參的話使用 連線符,這個存在的問題就是傳參...