移動互連網應用技術架構簡介-Restful服務

來源:互聯網
上載者:User

Restful是基於網路的軟體系統架構風格。其優先考慮分布性和擴充性,而不是安全、錯誤處理、對象映射。

所以Restful架構特別適用的場合為使用者快速增長的互連網和移動互連網領域,看起來很容易理解,以資源,資源的表示,資源的狀態轉移為核心概念。

不過實際在實現Restful服務的時候,仍然有一些應用陷阱,部分是由於Restful本身不是強制性約束,而只是風格建議,

部分是由於開發人員對Restful的一知半解乃至曲解所導致。

把一個系統的Restful APIs設計簡潔得體,讓使用者舒服,並遵循一致的風格/規範,毫無疑問是好的架構師需要去做的事情。

比如一個網上商城系統的使用者註冊、登陸、更新帳戶資訊等行為,如何用Restful提供API介面,並非CRUD映射那麼簡單。

下面是對Restful服務相關的必讀文章,對Restful幾乎所有問題都有精準的解讀。

1、Fielding博士論文,Restful風格提出者

http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

2、RESTful實踐 RESTful HTTP in practice

http://www.infoq.com/articles/designing-restful-http-apps-roth

3、如何版本化REST服務 Versioning REST services

http://www.informit.com/articles/article.aspx?p=1566460

把版本和資源表示格式放在URL中雖然不那麼Restful,但也有好處,簡潔直觀,便於從系統日誌中檢查問題

4、如何處理非CRUD動作,如door/1/lock, user/1/login etc...基本上可以通過為資源添加一個狀態屬性(子資源)來去動詞化

http://stackoverflow.com/questions/16091947/how-to-route-non-crud-actions-in-a-restful-asp-net-web-api

一致的URL風格方便在配置中統一建立URL映射規則,可以避免特殊處理代碼即寫入程式碼,

如果把動詞register/login等放在url中,固然看起來直觀,但需要編寫特定的URL映射,從而引入hard codes。

5、RESTful服務安全方案oauth/oauth2被廣泛使用如Facebook

http://oauth.net/2/

by iefreer

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.