link url:
http://hi.baidu.com/mnmatech/blog/item/83eb97ee96141d282df534af.html
Get 和 Post 的區別( asp)
一、 在Form里面,可以使用post也可以使用get。它們都是method的合法取值。但是,post和get方法在使用上至少有兩點不同:
1、Get方法通過URL請求來傳遞用戶的輸入。Post方法通過另外的形式。
2、Get方式的提交你需要用Request.QueryString來取得變量的值,而Post方式提交時,你必須通過Request.Form來訪問提交的內容。
提示
通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果:
1、 登陸頁面可以被瀏覽器緩存;
2、 其他人可以訪問客戶的這臺機器。
那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。
建議 :在Form中,建議使用post方法。
二、<form action="" method="post">刷新時會彈出提示框,問是否重新發送請求,若改為method=get則不會有該提示,以下是post和get的一些區別
post請求無長度限制(至少是理論上的)
get有長度限制,最長不超過2048字節(1024個漢字)
三、還記得Request.QueryString()嗎,只要是用get傳遞值,那么都會跟在http請求的串后面!可以試試!而post則不會在http請求串的后面,而是在請求的最后面!而且看不見的,一般密碼可一定得這樣傳了,否則在地址欄里可以直接看見!!(雖然都不加密)
還有就是post傳的內容多一些
再就是一般的用IIS過濾器的只接受get參數,這就是為什么那些大型搜索引擎后面都是一大堆的內容了,因為post不能發過去,只能用get。看看Goole或是yahoo等知道了!
四、表單提交中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安全性較高。
Get 和 Post 的區別( jsp)
Get 和 Post 的區別好像比我想象中的大,最近在使用 Tomcat 進行開發的過程中至少發現兩點:
一、這兩者傳遞參數時所用的編碼不一定是一樣的。在 Tomcat 中似乎 Get 的編碼方式是根據頁面中指定的編碼方式,而 Post 則是一直使用同一種編碼方式,可在 Tomcat 的 server.xml 中配置。
二、使用 Get 的時候,參數會顯示在地址欄上,而 Post 不會。
所以,如果這些數據是中文數據而且是非敏感數據,那么使用 get;如果用戶輸入的數據不是中文字符而且包含敏感數據,那么還是使用 post為好。
他們傳遞參數的時候編碼不一樣,get方式不進行編碼直接進行傳遞,
所以別人可以看見你的傳遞內容(當然可以采取措施避免用戶看到內容,比如用Javascript動態組織URL),
post方式是經過編碼傳輸的,而且不存在特殊字符傳遞出錯問題