熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

asp中get post提交表單區別

2013-11-13 10:44:59  來源: .NET編程 

  asp教程中get post提交表單區別

  Get和Post方式的區別有

   get是從服務器上獲取數據post是向服務器傳送數據

   get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中值和表單內各個字段一一對應在URL中可以看到post是通過HTTP post機制將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址用戶看不到這個過程

   對於get方式服務器端用RequestQueryString獲取變量的值對於post方式服務器端用RequestForm獲取提交的數據

   get傳送的數據量較小不能大於KBpost傳送的數據量較大一般被默認為不受限制但理論上IIS中最大量為KBIIS中為KB

   get安全性非常低post安全性較高

  HTTP請求GET與POST方法的區別

  HTTP 定義了與服務器交互的不同方法最基本的方法是 GET 和 POST事實上 GET 適用於多數請求而保留 POST 僅用於更新站點根據 HTTP 規范GET 用於信息獲取而且應該是 安全的和冪等的所謂安全的意味著該操作用於獲取信息而非修改信息換句話說GET 請求一般不應產生副作用冪等的意味著對同一 URL 的多個請求應該返回同樣的結果完整的定義並不像看起來那樣嚴格從根本上講其目標是當用戶打開一個鏈接時她可以確信從自身的角度來看沒有改變資源 比如新聞站點的頭版不斷更新雖然第二次請求會返回不同的一批新聞該操作仍然被認為是安全的和冪等的因為它總是返回當前的新聞反之亦然POST 請求就不那麼輕松了POST 表示可能改變服務器上的資源的請求仍然以新聞站點為例讀者對文章的注解應該通過 POST 請求實現因為在注解提交之後站點已經不同了(比方說文章下面出現一條注解)

  在FORM提交的時候如果不指定Method則默認為GET請求Form中提交的數據將會附加在url之後以?分開與url分開字母數字字符原 樣發送但空格轉換為“+“號其它符號轉換為%XX其中XX為該符號以進制表示的ASCII(或ISO Latin)值GET請求請提交的數據放置在HTTP請求協議頭中而POST提交的數據則放在實體數據中GET方式提交的數據最多只能有 字節而POST則沒有此限制

  在表單裡使用”post”和”get”有什麼區別

  在Form裡面可以使用post也可以使用get它們都是method的合法取值但是post和get方法在使用上至少有兩點不同

  Get方法通過URL請求來傳遞用戶的輸入Post方法通過另外的形式

  Get方式的提交你需要用RequestQueryString來取得變量的值而Post方式提交時你必須通過RequestForm來訪問提交的內容

  仔細研究下面的代碼你可以運行之來感受一下

  代碼

  以下為引用的內容

  <!兩個Form只有Method屬性不同>

  <FORM ACTION=“getpostphp教程” METHOD=“get”>

  <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

  <INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>

  </FORM>
<BR>

  <FORM ACTION=“getpostphp” METHOD=“post”>

  <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>

  <INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT>

  </FORM>

  <BR>

  <BR>

  <? If RequestQueryString(“Text”) <> ““ Then ?>

  通過get方法傳遞來的字符串是 “<B><?= RequestQueryString(“Text”) ?></B>“<BR>

  <? End If ?>

  <? If RequestForm(“Text”) <> ““ Then ?>

  通過Post方法傳遞來的字符串是 “<B><?= RequestForm(“Text”) ?></B>“<BR>

  <? End If ?>
 

  說明

  把上面的代碼保存為getpostasp然後運行首先測試post方法這時候浏覽器的url並沒有什麼變化返回的結果是

  通過Post方法傳遞來的字符串是 "Hello World"

  然後測試用get方法提交請注意浏覽器的url變成了

  +World

  而返回的結果是

  通過get方法傳遞來的字符串是 "Hello World"

  最後再通過post方法提交浏覽器的url還是

  +World

  而返回的結果變成

  通過get方法傳遞來的字符串是 "Hello World"

  通過Post方法傳遞來的字符串是 "Hello World"

  提示

  通過get方法提交數據可能會帶來安全性的問題比如一個登陸頁面當通過get方法提交數據時用戶名和密碼將出現在URL上如果

  1 登陸頁面可以被浏覽器緩存

  2 其他人可以訪問客戶的這台機器

  那麼別人即可以從浏覽器的歷史記錄中讀取到此客戶的賬號和密碼所以在某些情況下get方法會帶來嚴重的安全性問題
建議
在Form中建議使用post方法


From:http://tw.wingwit.com/Article/program/net/201311/14432.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.