欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2009年12月15日 12:38:15   作者:  
HTTP定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST.HTTP-GET和HTTP-POST是使用HTTP的標(biāo)準(zhǔn)協(xié)議動(dòng)詞,用于編碼和傳送變量名/變量值對(duì)參數(shù),并且使用相關(guān)的請(qǐng)求語(yǔ)義。
1.HTTP請(qǐng)求格式:
<request line>
<headers>
<blank line>
[<request-body>]

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

2.GET與POST區(qū)別

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

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

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

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

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

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

注:所謂安全的意味著該操作用于獲取信息而非修改信息。冪等的意味著對(duì)同一 URL 的多個(gè)請(qǐng)求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來(lái)那樣嚴(yán)格。換句話說(shuō),GET 請(qǐng)求一般不應(yīng)產(chǎn)生副作用。從根本上講,其目標(biāo)是當(dāng)用戶打開(kāi)一個(gè)鏈接時(shí),她可以確信從自身的角度來(lái)看沒(méi)有改變資源。比如,新聞?wù)军c(diǎn)的頭版不斷更新。雖然第二次請(qǐng)求會(huì)返回不同的一批新聞,該操作仍然被認(rèn)為是安全的和冪等的,因?yàn)樗偸欠祷禺?dāng)前的新聞。反之亦然。POST 請(qǐng)求就不那么輕松了。POST 表示可能改變服務(wù)器上的資源的請(qǐng)求。仍然以新聞?wù)军c(diǎn)為例,讀者對(duì)文章的注解應(yīng)該通過(guò) POST 請(qǐng)求實(shí)現(xiàn),因?yàn)樵谧⒔馓峤恢笳军c(diǎn)已經(jīng)不同了(比方說(shuō)文章下面出現(xiàn)一條注解)。

例子;

下面舉一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明它們的區(qū)別:

<!-分別通過(guò)get和post方式提交表單-->
<FORM ACTION="getpost.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE="http://www.dbjr.com.cn">
<INPUT TYPE="submit" VALUE="Get方式"></INPUT>
</FORM>
<BR>
<FORM ACTION="getpost.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE="http://www.dbjr.com.cn">
<INPUT TYPE="submit" VALUE="Post方式"></INPUT>
</FORM>
<BR>

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

<% If Request.Form("Text") <> "" Then %>
通過(guò)Post方式傳遞的字符串是: "<B><%= Request.Form("Text") %></B>"<BR>
<% End If %>

相關(guān)文章

  • Git恢復(fù)之前版本的三種方法之reset、revert、rebase詳解

    Git恢復(fù)之前版本的三種方法之reset、revert、rebase詳解

    這篇文章主要介紹了Git恢復(fù)之前版本的三種方法之reset、revert、rebase解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • idea2020.1 常用設(shè)置圖文詳解

    idea2020.1 常用設(shè)置圖文詳解

    這篇文章主要介紹了idea2020.1 常用設(shè)置,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 推薦四款可視化工具(解決99%的可視化大屏需求)

    推薦四款可視化工具(解決99%的可視化大屏需求)

    這篇文章主要介紹了推薦四款可視化工具(解決99%的可視化大屏需求),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • 關(guān)于代碼閱讀問(wèn)題的小技巧 腳本之家原創(chuàng)(適合所有網(wǎng)站)不定時(shí)更新

    關(guān)于代碼閱讀問(wèn)題的小技巧 腳本之家原創(chuàng)(適合所有網(wǎng)站)不定時(shí)更新

    因?yàn)楹芏嗑W(wǎng)站為了網(wǎng)站的安全,特將一些字符替換成中文字符,導(dǎo)致很多情況下,代碼無(wú)法運(yùn)行,或復(fù)制內(nèi)容的適合都是一行顯示,這里將會(huì)為大家整理一些。
    2011-01-01
  • 詳解idea切換git賬號(hào)的兩個(gè)方法

    詳解idea切換git賬號(hào)的兩個(gè)方法

    這篇文章主要介紹了詳解idea切換git賬號(hào)的兩個(gè)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 從web到內(nèi)網(wǎng)滲透的一次過(guò)程詳解

    從web到內(nèi)網(wǎng)滲透的一次過(guò)程詳解

    本文非常詳細(xì)的描述了一次從web到內(nèi)網(wǎng)滲透的一次過(guò)程,并對(duì)每一步過(guò)程做了詳細(xì)的圖文示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Postman測(cè)試報(bào)告的生成方法

    Postman測(cè)試報(bào)告的生成方法

    做完測(cè)試后,都會(huì)編寫(xiě)一份測(cè)試報(bào)告,測(cè)試報(bào)告中最主要的就是呈現(xiàn)出測(cè)試結(jié)果,哪些用例通過(guò)了,哪些用例沒(méi)有通過(guò)。像postman這么強(qiáng)大的功能也可以自動(dòng)生成報(bào)告,供我們測(cè)試同學(xué)進(jìn)行查看,顯得更加有B格
    2022-01-01
  • VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密)

    VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密)

    這篇文章主要介紹了VSCode 遠(yuǎn)程登錄開(kāi)發(fā)(帶免密),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • git設(shè)置用戶名密碼的示例代碼

    git設(shè)置用戶名密碼的示例代碼

    這篇文章主要介紹了git設(shè)置用戶名密碼的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • VS Code使用Git可視化管理源代碼詳細(xì)教程(推薦)

    VS Code使用Git可視化管理源代碼詳細(xì)教程(推薦)

    這篇文章主要介紹了VS Code使用Git可視化管理源代碼詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02

最新評(píng)論