get和post方法的不一樣 在B/S應用程序中,前臺與後臺的數據交互,都是經過HTML中Form表單完成的。
Form提供了兩種數據傳輸的方式——get和post。雖然它們都是數據的提交方式,可是在實際傳輸時確有很大的不一樣,
而且可能會對數據產生嚴重的影響。雖然爲了方便的獲得變量值,Web容器已經屏蔽了兩者的一些差別,
可是瞭解兩者的差別在之後的編程也會頗有幫助的。 Form中的get和post方法,
在數據傳輸過程當中分別對應了HTTP協議中的GET和POST方法。
兩者主要區別以下:
一、Get是用來從服務器上得到數據,而Post是用來向服務器上傳遞數據。
二、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,而且二者使用「?」鏈接,
而各個變量之間使用「&」鏈接;Post是將表單中的數據放在form的數據體中,按照變量和值相對應的方式,
傳遞到action所指向URL。
三、Get是不安全的,由於在傳輸過程,數據被放在請求的URL中,而現在現有的不少服務器、
代理服務器或者用戶代理都會將請求URL記錄到日誌文件中,而後放在某個地方,
這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也能夠在瀏覽器上直接看到提交的數據,
一些系統內部消息將會一同顯示在用戶面前。Post的全部操做對用戶來講都是不可見的。
四、Get傳輸的數據量小,這主要是由於受URL長度限制;而Post能夠傳輸大量的數據,
因此在上傳文件只能使用Post(固然還有一個緣由,將在後面的提到)。
五、Get限制Form表單的數據集的值必須爲ASCII字符;而Post支持整個ISO10646字符集。
六、Get是Form的默認方法。
GET 和 POST 的數據格式都是同樣的: GET 支持的最大字節限制是 2048 Bytes POST 支持的最大字節限制是 2GB