提交方式post和get有什么區別?
(1)post是向服務器傳送數據;get是從服務器上獲取數據。
(2)在客戶端,get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。
post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
(3)對於get方式,服務器端用Request.QueryString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。
例如:get 提交Request.QueryString["aa"].ToString();
post 提交用 Request.Form["aa"].ToString();
(4)get可以傳送的數據量則非常小,只能有1024字節,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
(5)安全性問題。正如在(1)中提到,使用 get 的時候,參數會顯示在瀏覽器地址欄上,而 post 不會。
建議:
1、get方式的安全性較post方式要差些,但是執行效率卻比post方法好。
如果這些數據是中文數據而且是非敏感數據,那么使用 get;如果用戶輸入的數據不是中文字符而且包含敏感數據,包含機密信息的話,建議用post數據提交方式為好;
2、在做數據查詢時,建議用get方式;而在做數據添加、修改或刪除時,建議用post方式;
總結:(簡答)
(1)get的參數會顯示在瀏覽器地址欄中,而post的參數不會顯示在瀏覽器地址欄中;
(2)使用post提交的頁面在點擊【刷新】按鈕的時候瀏覽器一般會提示“是否重新提交”,而get則不會;
(3)用get的頁面可以被搜索引擎抓取,而用post的則不可以;
(4)用post可以提交的數據量非常大,而用get可以提交的數據量則非常小(2k),受限於網頁地址的長度。
(5)用post可以進行文件的提交,而用get則不可以。
轉載自:提交方式post和get有什么區別?
https://blog.csdn.net/hemingyang97/article/details/82053961
如果覺得本內容對你有幫助的話請移步支持下原作者。
個人補充:get方式可以做資源定位,比如淘寶網站,你點開如下兩個網站最終得到的網站結果是一樣的。
https://www.taobao.com/markets/tbhome/yhh-detail?contentId=2500000210001947284