<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JBOSS 點滴

    豐豐的博客

    Http之Get/Post請求區別 轉自 http://www.cnblogs.com/wxf0701/

    1HTTP請求格式:

    <request line>

    <headers>

    <blank line>

    [<request-body>]

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

    2GETPOST區別

    HTTP定義了與服務器交互的不同方法,最基本的方法是 GET POST.

    HTTP-GET和HTTP-POST是使用HTTP的標準協議動詞,用于編碼和傳送變量名/變量值對參數,并且使用相關的請求語義。每個HTTP-GET和HTTP-POST都由一系列HTTP請求頭組成,這些請求頭定義了客戶端從服務器請求了什么,而響應則是由一系列HTTP應答頭和應答數據組成,如果請求成功則返回應答。
      HTTP-GET以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數。Urlencoding是一種字符編碼,保證被傳送的參數由遵循規范的文本組成,例如一個空格的編碼是"%20"。附加參數還能被認為是一個查詢字符串。
      與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 請求實現,因為在注解提交之后站點已經不同了(比方說文章下面出現一條注解)。

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

    <!-分別通過get和post方式提交表單-->
    <FORM ACTION="getpost.asp" METHOD="get">
    <INPUT TYPE="text" NAME="Text" VALUE="
    http://wxf0701.cnblogs.com//>
    <INPUT TYPE="submit" VALUE="Get方式"></INPUT>
    </FORM>
    <BR>
    <FORM ACTION="getpost.asp" METHOD="post">
    <INPUT TYPE="text" NAME="Text" VALUE="
    http://wxf0701.cnblogs.com/>
    <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 %>

    posted on 2009-04-21 15:56 半導體 閱讀(342) 評論(0)  編輯  收藏 所屬分類: javascript

    主站蜘蛛池模板: 西西人体44rt高清亚洲| 亚洲国产精品特色大片观看完整版| 久久精品国产亚洲av影院| A级毛片高清免费视频在线播放| 中文字幕亚洲第一| 久久免费99精品国产自在现线| 亚洲一区日韩高清中文字幕亚洲| 特黄特色的大片观看免费视频| 亚洲成人一区二区| 一级中文字幕免费乱码专区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 最近2019中文免费字幕| 亚洲熟女精品中文字幕| 国产又粗又猛又爽又黄的免费视频 | 国产一级淫片免费播放电影| 白白色免费在线视频| 亚洲无码视频在线| 成在线人免费无码高潮喷水| 国产成人亚洲综合无码精品| 999任你躁在线精品免费不卡| 亚洲精品国产肉丝袜久久| 搡女人真爽免费视频大全| www亚洲精品久久久乳| 日本亚洲国产一区二区三区| 亚洲精品老司机在线观看| 成人无码视频97免费| 久久亚洲日韩看片无码| 成人啪精品视频免费网站| 美女露100%胸无遮挡免费观看 | 亚洲精品乱码久久久久66| 99re免费99re在线视频手机版| 久久亚洲国产最新网站| 亚洲Av无码乱码在线znlu| 99久久免费国产精精品| 亚洲午夜电影一区二区三区| 亚洲成?Ⅴ人在线观看无码| 久久成人免费大片| 亚洲日韩精品A∨片无码加勒比| 国产中文在线亚洲精品官网| 亚洲免费二区三区| 亚洲阿v天堂在线2017免费|