1. 程式人生 > >java介面get和post區別

java介面get和post區別

1、Get 方法通過 URL 請求來傳遞使用者的資料,將表單內各欄位名稱與其內容,以成對的字串連線,置於 action 屬性所指程式的 url 後,如[url]http://www.mdm.com/test.asp?name=asd&password=sad[/url],資料都會 直接顯示在 url 上,就像使用者點選一個連結一樣;Post 方法通過 HTTP post 機制,將表單內各欄位名稱與其內容放置在 HTML 表頭(header)內一起傳送給伺服器端交由 action 屬效能所指的程式處理,該程式會通過標準輸入(stdin)方式,將表單的資料讀出並加以處理


2、 Get 方式需要使用 Request.QueryString 來取得變數的值;而 Post 方式通過 Request.Form 來訪問提交的內容



3、Get 方式傳輸的資料量非常小,一般限制在 2 KB 左右,但是執行效率卻比 Post 方法好;而 Post 方式傳遞的資料量相對較大,它是等待伺服器來讀取資料,不過也有位元組限制,這是為了避免對伺服器用大量資料進行惡意攻擊,根據微軟方面的說法,微軟對用 Request.Form() 可接收的最大資料有限制,IIS 4 中為 80 KB 位元組,IIS 5 中為 100 KB 位元組

建議:除非你肯定你提交的資料可以一次性提交,否則請儘量用 Post 方法


4、Get 方式提交資料,會帶來安全問題,比如一個登陸頁面,通過 Get 方式提交資料時,使用者名稱和密碼將出現在 URL 上,如果頁面可以被快取或者其他人可以訪問客戶這臺機器,就可以從歷史記錄獲得該使用者的帳號和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果重新整理的時候,會彈出一個對話方塊


建議:出於安全性考慮,建議最好使用 Post 提交資料