在 2/9 跟 Rackspace 的面試被問到為什麼要用 REST,當然我只知道皮毛不知其所以,沒有答的很好。事後,當然要發憤圖強,所以整理了這個
什麼是 REST
representational state transfer 它是一種架構的理念,而不是一種標準或協定。像是 HTTP 就是實踐了 REST 的一項實作。因此,如果設計的理念是依照 REST 的話,那就可以說這個網站是 RESTful。至於什麼時候會需要把服務設計成 RESTful 呢?有人是說當有數據資源要被多個不同的平台使用的時候
基本上,REST 是比較 lightweight 的
要求
- client - server 主從式架構
- 分層
- cache
- stateless
- uniform interface
優點
- browser 可以直接當成 client side
- 更高效地利用 cache 來達到快速的回應
- 介面跟資料分離
- 節省伺服器的計算資源
- reusability