http中的get和post的區別
阿新 • • 發佈:2018-12-10
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上,如果頁面可以被快取或者其他使用者可以訪問客戶端,就可以從歷史記錄裡看到使用者名稱和密碼,帶來資料的安全性問題。