Web Service系列(五)RESTFUL風格
阿新 • • 發佈:2019-01-02
RESTFUL風格
一種軟體架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用於客戶端和伺服器互動類的軟體。基於這個風格設計的軟體可以更簡潔。
REST : Representational State Transfer (資源的)表現層狀態轉化
++一個資源對應一個url++,他的表現格式有很多種,可以用HTML格式、XML格式、JSON格式表現,然而訪問一個網站,就代表了客戶端和伺服器的一個++互動過程++。在這個過程中,++勢必涉及到資料和狀態的變化++。
網際網路通訊協議++HTTP協議,是一個無狀態協議++。這意味著,所有的狀態都儲存在伺服器端。因此,如果客戶端想要操作伺服器,必須通過某種手段,讓伺服器端發生”狀態轉化”(State Transfer)。而這種轉化是建立在表現層之上的,所以就是 ++”表現層狀態轉化”++ 。
RESTFUL風格就讓這種狀態轉化形成一定的風格(也是一種習慣)
- Restful 風格:
http://bbs.csdn.net/topics/390908212
- 非resfull風格:
http://bbs.csdn.net/topics?tid=390908212
請求方式
在HTTP協議中請求方式有7中:GET,HEAD,POST,OUT,DELETE,OPTIONS,TRACE,然而在狀態轉化中每一個請求方式都會對應一個操作
- GET : 用來獲取資源, 對應操作:查詢方法
- POST : 用來新建資源, 對應操作:insert 新增儲存
- PUT : 用來更新資源, 對應操作:update
- DELETE : 用來刪除資源。 對應操作:delete
所以 訪問伺服器資源,
通過不同的http請求方式,伺服器就知道對CRUD的哪個操作!
JAX-RS 釋出服務就是使用RESTFUL風格。
總結
綜合上面的解釋,我們總結一下什麼是RESTful架構:
1. 每一個URI代表一種資源;
- 客戶端和伺服器之間,傳遞這種資源的某種表現層;
- 客戶端通過四個HTTP動詞,對伺服器端資源進行操作,實現”表現層狀態轉化”。