HTTP get和post的區別

2021-08-19 22:53:51 字數 1049 閱讀 2405

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請求方式目的。...