POST是表單提交,GET是字符串提交
post是隱式地提交你的表單數據
get是顯示地提交你的表單數據所有數據都在url里會顯示出來
Post 與Get的真正區別是其作用上的不同,Post是被設計用來向上放東西的(就像其名字所暗示的那樣);而Get是被設計用來從服務器取東西的,它所以也能夠向服務器傳送較少的數據,是以為當你取東西時,你需要指明取什么,而我們有時候利用指明取什么的機制來向服務器放東西。
基于以上原因,Post與Get在http中傳送的方式是不同的,Get的參數是在http的頭部傳送的,而Post的數據則是在http請求的內容里傳送的,一般來說,我們沒有看到這中間的差別,那是因為編程環境幫(如servlet)我們隱藏了其不同
GET方法將數據打包放置在環境變量QUERY_STRING中作為URL整體的一部分傳遞給服務器。 POST做很多類似GET同樣的事情, 不同的地方就是它是分離地傳遞數據給腳本. 你的腳本通過標準輸入獲取這些數據. QUERY_STRING環境變量將不再設置.因此POST有更好的安全性,尤其如果你的表單中有很多數據的話. 當你用GET, 這個服務器就分配變量QUERY_STRING給所有的表單數據, 但是這個變量可存儲量是有限的. 換句話說,如果你有很多數據但是你又用GET,你會丟失很多數據。 如果你用POST, 你可以盡可能多地使用數據, 因為這些數據從來也不分配到一個變量里。此外用post傳遞數據還有一個好處,它不會象get那樣把你傳送的數據暴露在瀏覽器的地址欄中,而且由于 HTTP/GET常見于Web鏈接,懷有惡意的人可能利用它實施欺騙,使別人在不知不覺中用自己的安全標識調用Web服務,卻還以為自己在點擊Web鏈接。比如象下面這種:form.php?name=genius&pwd=123456 ,明白了吧?所以還是用post讓人安心一點啦