1. 程式人生 > >HTTP請求 get和post的區別

HTTP請求 get和post的區別

基本的區別:

1.get 資料附在url 上(以?分隔url和資料,用&連線引數其中引數是空格,轉換為+,如果是中文/其他字元,則直接把字串用BASE64加密,如%E4%BD%A0%E5%A5%BD), post 資料包裹在http包的包體裡。

2.理論上url長度沒有限制(但是瀏覽區或伺服器可以會有限制),post同樣也是這樣。
get主要是為了查詢資料用的。而post主要是提交資料用的。

3.post的安全性要比get高(畢竟url裡面的引數是以明文顯示的)。

深入區別:
HTTP協議本身也是基於TCP協議的,所以get和post本質上就是TCP連結。

一些額外的作用:

get請求會被瀏覽器主動的cache,而post不會。

get請求只能進行url編碼,而POST支援多種編碼方式。

對引數的資料型別,GET只接受ASCII字元,而POST沒有限制。