- 相關(guān)推薦
asp教程中g(shù)et post提交表單區(qū)別
asp教程中g(shù)et post提交表單區(qū)別
Get和Post方式的區(qū)別有5點(diǎn)
1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
2. get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。post是通過(guò)HTTP post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶(hù)看不到這個(gè)過(guò)程。
3. 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。
HTTP請(qǐng)求:GET與POST方法的區(qū)別
HTTP 定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST。事實(shí)上 GET 適用于多數(shù)請(qǐng)求,而保留 POST 僅用于更新站點(diǎn)。根據(jù) HTTP 規(guī)范,GET 用于信息獲取,而且應(yīng)該是 安全的和冪等的。所謂安全的意味著該操作用于獲取信息而非修改信息。換句話(huà)說(shuō),GET 請(qǐng)求一般不應(yīng)產(chǎn)生副作用。冪等的意味著對(duì)同一 URL 的多個(gè)請(qǐng)求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來(lái)那樣嚴(yán)格。從根本上講,其目標(biāo)是當(dāng)用戶(hù)打開(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)一條注解);
在FORM提交的時(shí)候,如果不指定Method,則默認(rèn)為GET請(qǐng)求,F(xiàn)orm中提交的數(shù)據(jù)將會(huì)附加在url之后,以?分開(kāi)與url分開(kāi)。字母數(shù)字字符原 樣發(fā)送,但空格轉(zhuǎn)換為“+“號(hào),其它符號(hào)轉(zhuǎn)換為%XX,其中XX為該符號(hào)以16進(jìn)制表示的ASCII(或ISO Latin-1)值。GET請(qǐng)求請(qǐng)?zhí)峤坏臄?shù)據(jù)放置在HTTP請(qǐng)求協(xié)議頭中,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中;GET方式提交的數(shù)據(jù)最多只能有 1024字節(jié),而POST則沒(méi)有此限制。
在表單里使用”post”和”get”有什么區(qū)別
在Form里面,可以使用post也可以使用get。它們都是method的合法取值。但是,post和get方法在使用上至少有兩點(diǎn)不同:
1、Get方法通過(guò)URL請(qǐng)求來(lái)傳遞用戶(hù)的輸入。Post方法通過(guò)另外的形式。
2、Get方式的提交你需要用Request.QueryString來(lái)取得變量的值,而Post方式提交時(shí),你必須通過(guò)Request.Form來(lái)訪(fǎng)問(wèn)提交的內(nèi)容。
仔細(xì)研究下面的代碼。你可以運(yùn)行之來(lái)感受一下:
代碼
以下為引用的內(nèi)容:
<? If Request.QueryString(“Text”) <> ““ Then ?>
通過(guò)get方法傳遞來(lái)的字符串是: ““
“
說(shuō)明
把上面的代碼保存為getpost.asp,然后運(yùn)行,首先測(cè)試post方法,這時(shí)候,瀏覽器的url并沒(méi)有什么變化,返回的結(jié)果是:
通過(guò)Post方法傳遞來(lái)的字符串是: "Hello World"
然后測(cè)試用get方法提交,請(qǐng)注意,瀏覽器的url變成了:
localhost/general/form/getpost.php?Text=Hello+World
而返回的結(jié)果是:
通過(guò)get方法傳遞來(lái)的字符串是: "Hello World"
最后再通過(guò)post方法提交,瀏覽器的url還是:
localhost/general/form/getpost.php?Text=Hello+World
而返回的結(jié)果變成:
通過(guò)get方法傳遞來(lái)的字符串是: "Hello World"
通過(guò)Post方法傳遞來(lái)的字符串是: "Hello World"
提示
通過(guò)get方法提交數(shù)據(jù),可能會(huì)帶來(lái)安全性的問(wèn)題。比如一個(gè)登陸頁(yè)面。當(dāng)通過(guò)get方法提交數(shù)據(jù)時(shí),用戶(hù)名和密碼將出現(xiàn)在URL上。如果:
。、 登陸頁(yè)面可以被瀏覽器緩存;
2、 其他人可以訪(fǎng)問(wèn)客戶(hù)的這臺(tái)機(jī)器。
那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶(hù)的賬號(hào)和密碼。所以,在某些情況下,get方法會(huì)帶來(lái)嚴(yán)重的安全性問(wèn)題。
建議
在Form中,建議使用post方法。
【asp教程中g(shù)et post提交表單區(qū)別】相關(guān)文章:
解析ajax請(qǐng)求post和get的區(qū)別10-01
ASP.NET MVC異常處理模塊簡(jiǎn)單教程-ASP.NET教程實(shí)例推薦07-19
解讀Rnd 函數(shù)中的asp08-03
在Excel中快速添加間隔空行教程10-18
photoshop中的剪裁遮色片簡(jiǎn)單教程08-30
肚皮舞中的各種西米教程07-02