濮阳杆衣贸易有限公司

主頁 > 知識庫 > HTTP請求 GET與POST方法的區(qū)別

HTTP請求 GET與POST方法的區(qū)別

熱門標簽:地圖標注和圖片標注 湖北穩(wěn)定外呼系統(tǒng) 滄州智能外呼系統(tǒng)收費 洛陽便宜外呼系統(tǒng)廠家 語音平臺系統(tǒng) 嘟聲的電銷機器人 醫(yī)院地圖標注 電銷機器人怎么收費 忻州外呼系統(tǒng)接口對接
1.HTTP請求格式:
request line>
headers>
blank line>
[request-body>]

在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求類型、要訪問的資源以及使用的HTTP版本。緊接著是一個首部(header)小節(jié),用來說明服務(wù)器要使用的附加信息。在首部之后是一個空行,再此之后可以添加任意的其他數(shù)據(jù)[稱之為主體(body)]。

2.GET與POST區(qū)別

HTTP定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST.HTTP-GET和HTTP-POST是使用HTTP的標準協(xié)議動詞,用于編碼和傳送變量名/變量值對參數(shù),并且使用相關(guān)的請求語義。每個HTTP-GET和HTTP-POST都由一系列HTTP請求頭組成,這些請求頭定義了客戶端從服務(wù)器請求了什么,而響應(yīng)則是由一系列HTTP應(yīng)答頭和應(yīng)答數(shù)據(jù)組成,如果請求成功則返回應(yīng)答。
  HTTP-GET以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數(shù)。Urlencoding是一種字符編碼,保證被傳送的參數(shù)由遵循規(guī)范的文本組成,例如一個空格的編碼是"%20"。附加參數(shù)還能被認為是一個查詢字符串。
  與HTTP-GET類似,HTTP-POST參數(shù)也是被URL編碼的。然而,變量名/變量值不作為URL的一部分被傳送,而是放在實際的HTTP請求消息內(nèi)部被傳送。

(1)get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。

在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTML HEADER內(nèi)提交。

(2) 對于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。

(3) GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。

(4)安全性問題。正如在(1)中提到,使用 Get 的時候,參數(shù)會顯示在地址欄上,而 Post 不會。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用 get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。

注:所謂安全的意味著該操作用于獲取信息而非修改信息。冪等的意味著對同一 URL 的多個請求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來那樣嚴格。換句話說,GET 請求一般不應(yīng)產(chǎn)生副作用。從根本上講,其目標是當用戶打開一個鏈接時,她可以確信從自身的角度來看沒有改變資源。比如,新聞?wù)军c的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。POST 請求就不那么輕松了。POST 表示可能改變服務(wù)器上的資源的請求。仍然以新聞?wù)军c為例,讀者對文章的注解應(yīng)該通過 POST 請求實現(xiàn),因為在注解提交之后站點已經(jīng)不同了(比方說文章下面出現(xiàn)一條注解)。

例子;

下面舉一個簡單的例子來說明它們的區(qū)別:

!-分別通過get和post方式提交表單-->
FORM ACTION="getpost.asp" METHOD="get">
INPUT TYPE="text" NAME="Text" VALUE="https://www.jb51.net">
INPUT TYPE="submit" VALUE="Get方式">/INPUT>
/FORM>
BR>
FORM ACTION="getpost.asp" METHOD="post">
INPUT TYPE="text" NAME="Text" VALUE="https://www.jb51.net">
INPUT TYPE="submit" VALUE="Post方式">/INPUT>
/FORM>
BR>

% If Request.QueryString("Text") > "" Then %>
通過get方式傳遞的字符串是: "B>%= Request.QueryString("Text") %>/B>"BR>
% End If %>

% If Request.Form("Text") > "" Then %>
通過Post方式傳遞的字符串是: "B>%= Request.Form("Text") %>/B>"BR>
% End If %>
您可能感興趣的文章:
  • Get方法和Post方法的區(qū)別深入理解
  • HTTP中g(shù)et和post的區(qū)別詳解
  • 簡單談?wù)凣ET和POST有什么區(qū)別
  • java發(fā)送get請求和post請求示例
  • http中g(shù)et請求與post請求區(qū)別分析

標簽:巴彥淖爾 山南 宜賓 定州 防城港 96 內(nèi)蒙古 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標題《HTTP請求 GET與POST方法的區(qū)別》,本文關(guān)鍵詞  HTTP,請求,GET,與,POST,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTTP請求 GET與POST方法的區(qū)別》相關(guān)的同類信息!
  • 本頁收集關(guān)于HTTP請求 GET與POST方法的區(qū)別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    健康| 洪江市| 临湘市| 南投县| 峡江县| 镇原县| 连南| 布尔津县| 五莲县| 赣榆县| 来宾市| 栖霞市| 建昌县| 诸城市| 仁布县| 南木林县| 韶关市| 克什克腾旗| 焦作市| 亚东县| 霍林郭勒市| 石河子市| 绿春县| 漯河市| 灵川县| 满城县| 德钦县| 汝州市| 永清县| 樟树市| 洛川县| 盈江县| 临城县| 河北区| 安福县| 通道| 资源县| 盐津县| 本溪| 于田县| 平舆县|