天天看點

Get和Post的參數傳值

1. get是從伺服器上擷取資料,post是向伺服器傳送資料。

2. get是把參數資料隊列加到送出表單的ACTION屬性所指的URL中,值和表單内各個字段一一對應,在URL中可以看到。post是通過HTTP post機制,将表單内各個字段與其内容放置在HTML HEADER内一起傳送到ACTION屬性所指的URL位址。使用者看不到這個過程。

3. 對于get方式,伺服器端用Request.QueryString擷取變量的值,對于post方式,伺服器端用Request.Form擷取送出的數 據。

4. get傳送的資料量較小,不能大于2KB。post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為 100KB。

5. get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。

建議:

1、get方式的安全性較Post方式要差些,包含機密資訊的話, 建議用Post資料送出方式;

2、在做資料查詢時,建議用Get方式;而在做資料添加、修改或删 除時,建議用Post方式。

使用Request.Params["id"]來擷取參數是一種比較有效的途徑。

有三種方式可以進行參數傳遞:(1). Form (2). ?id= (3).cookie

request.params其實是一個集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。

如果要在兩個頁面傳遞資料的話,隻能用request.querystring、request.form、request.cookies

Request.Params 是在 QueryString、Form、Server Variable 以及 Cookies 找資料,他首先在 QueryString 集合查找資料,如果在 QueryString 找到資料,就傳回資料,如果沒有找到就去 Form 集合中查找資料,找到就傳回,否則在往下一下個集合查找資料。

Request.Params是所有post和get傳過來的值的集合,

Request.Form是取post傳值 表單的post傳值,Ajax post異步傳值則需要用Request.Params來擷取傳過來的參數

Request.QueryString是get傳過來的值 通常是url的參數傳值和表單的Get傳值

AJAX 調用

如果調用是要檢索伺服器上的資料則使用GET。如果 要檢索的值會随時間和更新程序的改變而改變則要在GET調用中添加一個目前時間參數,這樣後面的調用才不會使用先前的不正确的緩沖。如果調用是向伺服器上 發送任意資料,就可以使用POST。

本文轉自linzheng 51CTO部落格,原文連結:http://blog.51cto.com/linzheng/1081838