1. 程式人生 > >http中的get和post的區別

http中的get和post的區別

HTTP協議:超文字傳輸協議,保證客戶端和服務端的通訊。

get和post實現的功能基本相同,都是客戶端提交資料給伺服器端,只是實現的機制不同而已。

get是把引數資料佇列新增到表單的action屬性所指向的url中,值和表單裡的name屬性一一對應,在url中可以看到。

post是通過HTTP post機制,將引數資料佇列放到HTML header中一起傳送到action屬性所指向的url中,使用者看不到這個過程。

get方式是通過Request.QueryString()來取得變數的值,

post方式是通過Request.Form()來訪問表單提交的內容。

get和post的優缺點:

1. get傳輸的資料量非常小,一般在2k左右,但是執行效率比post好;

2. post傳輸的資料量較大,它是等待伺服器來讀資料,不過也有位元組限制,這是為了防止對伺服器用大量資料進行攻擊,微軟對用Request.Form()接收的最大資料有限制,IIS4為80kB,IIS5為100kB;

3. form表單提交一般用post,因為如果用get提交資料,使用者名稱和密碼會出現在url上,如果頁面可以被快取或者其他使用者可以訪問客戶端,就可以從歷史記錄裡看到使用者名稱和密碼,帶來資料的安全性問題。