一直在測試REST模式的WEB SERVICE接口,客戶端的HTTP的請求方式通常分爲四種:GET、POST、PUT、DELETE,這四種請求方式有什麼不一樣呢。簡單的說,GET就是獲取資源,POST就是建立資源,PUT就是更新資源,DELETE就是刪除資源。具體來講:數據庫
PUT:PUT請求是向服務器端發送數據的,從而改變信息,該請求就像數據庫的update操做同樣,用來修改數據的內容,可是不會增長數據的種類等,也就是說不管進行多少次PUT操做,資源不會增長。瀏覽器
DELETE:DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像數據庫的delete操做。安全
GET:GET操做是安全的。所謂安全是指無論進行多少次操做,資源的狀態都不會改變,GET只是訪問和查看資源。服務器
POST:操做不是安全的,每次請求都會建立資源,當咱們屢次發出POST請求後,其結果是建立出了多個資源。還有一點須要注意的就是,建立操做可使用POST,也可使用PUT,區別在於POST 是做用在一個集合資源之上的(/uri),而PUT操做是做用在一個具體資源之上的(/uri/xxx),再通俗點說,若是URL能夠在客戶端肯定,那麼就使用PUT,若是是在服務端肯定,那麼就使用POST,好比說不少資源使用數據庫自增主鍵做爲標識信息,而建立的資源的標識信息究竟是什麼只能由服務端提供,這個時候就必須使用POST。 測試
下面說說GET和POST的區別:code
一、GET請求的數據會附在URL以後(就是把數據放置在HTTP協議頭中),以?分割URL和傳輸數據,參數之間以&相連,如:getCitycode?lat=100.22&lon=35.33接口
POST把提交的數據則放置在是HTTP包的包體中。
二、在瀏覽器上,GET方式提交的數據是有限制的,例若有時候請求的URL太長,會返回錯誤;但若是是客戶端GET請求,是沒有數據的限制的。POST沒有限制,可傳較大量的數據。
三、POST的安全性要比GET的安全性高。這裏所說的安全性和上面GET提到的「安全」不是同個概念。上面「安全」的含義僅僅是不做數據修改,而這裏安全的含義是真正的Security的含義,好比:經過GET提交數據,用戶名和密碼將明文出如今URL上,查看瀏覽器的歷史紀錄,就能夠查看到GET請求的參數,好比登陸的賬號密碼、搜索關鍵字、我的信息等。
資源