1. 程式人生 > >HTTP中GET和POST方法的區別

HTTP中GET和POST方法的區別

HTTP請求的方法有很多:GET、POST、HEAD、TRACE、OPTIONS等,但是GET和POST是兩個最常用的方法。

GET是最簡單的一種請求方法,其主要功能是從伺服器端獲取使用者所需資源,並將其作為響應返回給客戶端,需要注意的是:GET方法的作用主要用來獲取伺服器端資源資訊,就如同資料庫查詢一樣,不會影響資源本身的狀態,如刪除、修改、新增是不允許的。而POST請求除了能從伺服器端獲取資源外,同時還可以向伺服器上傳資源。

雖然GET方法主要用來從伺服器上獲取資料,也可以向伺服器上傳資源,但是一般不建議採用GET方法用來向伺服器上傳資源,而是推薦用POST方法實現該功能。主要原因是:

1)採用GET方法向伺服器上傳資料時,一般將資料新增到URL後面,並且二者用 “?” 連線,各個變數之間用 “&” 連線。由於對URL的長度存在限制,因此採用GET方法能上傳的資料量非常小,通常在1024Byte左右。而POST方法傳遞資料是通過HTTP請求的附件進行的,傳送的資料量更大一些,一般預設認為不受限制的。

2)由於GET方法上傳的資料是新增在URL中的,因此上傳的資料被徹底“暴露”出來,本身存在安全隱患,尤其是一些敏感資訊。而POST方法向伺服器提交的內容在URL中沒有明文顯示,對使用者都是不可見的,所以,安全性更好。