1.REST的架構設計web
表明性狀態傳輸(Representational State Transfer,REST)在Web領域已經獲得了普遍的接受,是基於SOAP和Web服務描述語言(Web Services Description Language,WSDL)的Web服務的更爲簡單的替代方法。json
REST(Representational State Transfer)是一種輕量級的Web Service架構風格,其實現和操做明顯比SOAP和XML-RPC更爲簡潔,能夠徹底經過HTTP協議實現,還能夠利用緩存Cache來提升響應速 度,性能、效率和易用性上都優於SOAP協議。
REST架構遵循了CRUD原則,CRUD原則對於資源只須要四種行 爲:Create(建立)、Read(讀取)、Update(更新)和Delete(刪除)就能夠完成對其操做和處理。這四個操做是一種原子操做,即一種 沒法再分的操做,經過它們能夠構造複雜的操做過程,正如數學上四則運算是數字的最基本的運算同樣。
REST架構讓人們真正理解咱們的網絡協議HTTP原本面貌,對資源的操做包括獲取、建立、修改和刪除資源的操做正好對應HTTP協議提供的GET、POST、PUT和DELETE方法,因 此REST把HTTP對一個URL資源的操做限制在GET、POST、PUT和DELETE這四個以內。這種針對網絡應用的設計和開發方式,能夠下降開發 的複雜性,提升系統的可伸縮性
緩存
2.REST的設計準則
REST架構是針對Web應用而設計的,其目的是爲了下降開發的複雜性,提升系統的可伸縮性。REST提出了以下設計準則:
網絡上的全部事物都被抽象爲資源(resource);
每一個資源對應一個惟一的資源標識符(resource identifier);
經過通用的鏈接器接口(generic connector interface)對資源進行操做;
對資源的各類操做不會改變資源標識符;
全部的操做都是無狀態的(stateless)。
使用REST架構
REST不單單是一種嶄新的架構,它帶來的更是一種全新的Web開發過 程中的思惟方式:經過URL來設計系統結構。REST是一套簡單的設計原則、一種架構風格(或模式),不是一種具體的標準或架構。REST有不少成功的使 用案例,著名的Delicious和Flickr都提供基於REST風格的API使用,客戶端調用也極其方便。
什麼是rest? 什麼是restful? 傻傻分不清楚。。
一.概念和區別:
1.關於rest
rest :representational state transfer 表述性狀態轉移,是一種架構風格。
rest原則:
<1>網絡上的全部事物都被抽象爲資源
<2> 每一個資源都有一個惟一的資源標識符
<3> 同一個資源具備多種表現形式(xml,json等)
<4> 對資源的各類操做不會改變資源標識符
<5> 全部的操做都是無狀態的
2.關於restful
restful: 遵照了rest 原則 的web服務
理解:rest與restful相比,多了一個ful,就英語層面來講是一個形容詞,restful翻譯爲中文爲: 「rest式的」
那麼是rest式的什麼呢?就是rest式的應用,rest風格的web服務也是rest式的應用,rest式的web服務是一種ROA(The Resource-Oriented Architecture)(面向資源的架構)。
3.二者的聯繫與區別
restful是由rest派生出來的。
二.restful用法:
在Restful以前的操做:
http://127.0.0.1/user/
query/1 GET 根據用戶id查詢用戶數據
http://127.0.0.1/user/
save POST 新增用戶
http://127.0.0.1/user/
update POST 修改用戶信息
http://127.0.0.1/user/
delete GET/POST 刪除用戶信息
RESTful用法: http://127.0.0.1/user/1 GET 根據用戶id查詢用戶數據 http://127.0.0.1/user POST 新增用戶 http://127.0.0.1/user PUT 修改用戶信息 http://127.0.0.1/user DELETE 刪除用戶信息 以前的你每次請求的接口或者地址,都在作描述,例如查詢的時候用了query,新增的時候用了save,其實徹底沒有這個必要,我使用了get請求,就是查詢.使用post請求,就是新增的請求,個人意圖很明顯,徹底沒有必要作描述,這就是爲何有了restful