get和post是http與伺服器互動的方式,
說到方式,其實總共有四種:put,delete,post,get。
他們的作用分別是對伺服器資源的增,刪,改,查。
所以,get是獲取資料,post是修改資料。
但是,現在大家都不這麼幹了!
只用乙個方式就可以做增刪查減的操作。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
區別分析
get把請求的資料放在url上,即http協議頭上,其格式為:
以?分割url和傳輸資料,引數之間以&相連。
資料如果是英文本母/數字,原樣傳送,
如果是空格,轉換為+,
如果是中文/其他字元,則直接把字串用base64加密,及「%」加上「字串的16進製制ascii碼」。
post把資料放在http的包體內(requrest body)。
get提交的資料最大是2k(原則上url長度無限制,那麼get提交的資料也沒有限制咯?限制實際上取決於瀏覽器,(大多數)瀏覽器通常都會限制url長度在2k個位元組,即使(大多數)伺服器最多處理64k大小的url。也沒有卵用。)。
post理論上沒有限制。實際上iis4中最大量為80kb,iis5中為100kb。
get產生乙個tcp資料報,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);
post產生兩個tcp資料報,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。
get在瀏覽器回退時是無害的,post會再次提交請求。
get產生的url位址可以被bookmark,而post不可以。
get請求會被瀏覽器主動cache,而post不會,除非手動設定。
get請求只能進行url編碼,而post支援多種編碼方式。
get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。
get只接受ascii字元的引數的資料型別,而post沒有限制
那麼,post那麼好為什麼還用get?get效率高!。
Http Get和Post的區別
get和post是http請求的兩種基本方法,要說它們的區別,接觸過web開發的人都能說出一二。最直觀的區別就是get把引數包含在url中,post通過request body傳遞引數。你可能自己寫過無數個get和post請求,或者已經看過很多權威 總結出的他們的區別,你非常清楚知道什麼時候該用什麼...
HTTP GET和POST的區別
post和get的差別其實是很大的。語義上,get是獲取指定url上的資源,是讀操作,重要的一點是不論對某個資源get多少次,它的狀態是不會改變的,在這個意義上,我們說get是安全的 不是被密碼學或者資料保護意義上的安全 因為get是安全的,所以get返回的內容可以被瀏覽器,cache伺服器快取起來...
HTTP GET和POST的區別
網上有很多文章介紹這兩種http請求的區別,我也不懂,主要還是看了一些文章,在這裡寫下一些筆記。語義不同 在http協議中,最初規定get是用來查詢或者獲取資料,唯讀,post用於修改資料,可寫。因此可以看到兩種方式的使用場景上就有很大的區別,在restful中更是強調了這兩種http請求方式目的。...