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

ASP.NET的GET和POST的區別

2013-11-13 10:18:28  來源: .NET編程 
    Get是從服務器上獲取數據Post是向服務器傳送數據
   
    Get是把參數數據隊列添加到提交表單的Action屬性所指的URL中值和表單內各個字段一一對應在URL中可以看到Post是通過HTTP Post機制將表單內各個字段與其內容防止在HTML HEADER內一起傳送到ACTION屬性所指的URL地址用戶看到整個過程
   
    對於Get方式服務端用RequestQueryString獲取變量的值對於Post方式服務器端用RequestFrom獲取提交的數據
   
    Get傳送的數據量較小不能大於KBPost傳送的數據量較大一般被默認為不受限制但理論上IIS中最大量為KBIIS中衛KB
   
    Get安全性非常低Post安全性比較高但是執行效率比Post方法好
   
    建議
   
    Get方式的安全性較Post方式要差些包含機密信息的話建議采用Post數據提交方式
   
    在做數據查詢時采用Get方式而在做數據添加修改或刪除時建議采用Post方式
   
    ParamsRequestRequestQueryStringRequestFrom具體區別
   
    MSDN:Request ObjectRequest
   
    RequestFrom:獲取以Post方式提交的數據
   
    RequestQueryString:獲取地址欄參數(以Get方式提交)
   
    Request:包含以上兩種方式(優先獲取Get方式提交的數據)它會在QueryStringFormServerVariable中都按照先後順序搜尋一遍而且又是也會得到不同的結果如果你僅僅是需要Form中的一個數據但是你使用了Request而不是RequestForm那麼程序將在QueryString和ServerVariable中也搜尋一般如果正好你的QueryString或ServerVariable中也有同名的項你得到的就不是你原本想要的值了
   
    RequestParams是所有的Post和Get傳過來的值的集合RequestParams其實是一個集合它依次包括RequestQueryStringRequestFormRequestCookies和RequestServerVariable
   
    ASPNET默認雖然是POST Form但是只是自己Post自己不同Post到其他頁面
   
    如果沒要提交到另一個頁面的話用HTML元素把runat=Server去掉改為Submit提交用RequestForm[]可以取值
   

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