原文連結:http://blog.csdn.net/PacificDLUT/article/details/3936990
一直都聽說有兩種方式提交表單,即POST與GET,它們到底有怎樣的區別呢?
用GOOGLE搜了一下,找到一些覺得寫的比較經典的與大家分享。
1、Get是用來從伺服器上獲得資料,而Post是用來向伺服器上傳遞資料。
2、Get將表單中資料的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用“?”串連,而各個變數之間使用“&”串連;Post是將表單中的資料放在form的資料體中,按照變數和值相對應的方式,傳遞到action所指向URL。
3、Get是不安全的,因為在傳輸過程,資料被放在請求的URL中,而如今現有的很多伺服器、Proxy 伺服器或者使用者代理程式都會將請求URL記錄到記錄檔中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。Post的所有操作對使用者來說都是不可見的。
4、Get傳輸的資料量小,這主要是因為受URL長度限制;而Post可以傳輸大量的資料,所以在上傳檔案只能使用Post。
5、Get限制Form表單的資料集的值必須為ASCII字元;而Post支援整個ISO10646字元集。
6、Get是Form的預設方法。
1.Post傳輸資料時,不需要在URL中顯示出來,而Get方法要在URL中顯示。
2.Post傳輸的資料量大,可以達到2M,而Get方法由於受到URL長度的限制,只能傳遞大約1024位元組.
3.Post顧名思義,就是為了將資料傳送到伺服器段,Get就是為了從伺服器段取得資料.而Get之所以也能傳送資料,只是用來設計告訴伺服器,你到底需要什麼樣的資料.Post的資訊作為http請求的內容,而Get是在Http頭部傳輸的。
get 是通過http傳輸 特點在 url上有尾巴 長度有限
post 是通過socket傳輸 url無尾巴 安全 無長度限制
get是用來取得資訊的,post是用來發送資訊的
GET請求請提交的資料放置在HTTP請求協議頭中,而POST提交的資料則放在實體資料中
一般來說,盡量避免使用Get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用Get方式,使用者輸入的使用者名稱和密碼將在地址欄中暴露無遺。但是在分頁程式中,用Get方式就比用Post好。