天天看點

Web服務架構風格之REST

REST(Representational State Transfer)是一種Web服務的架構,其目的是建立具有良好擴充性的分布式系統。它的限制包含:

  1. 使用C/S模型。client和server之間通過一個統一的接口來互相通訊。
  2. 階層化的系統。分層系統通過限制元件的行為,将架構分解為若幹等級的層。通過将元件對系統的知識限制在單一層内,為整個系統的複雜性設定了邊界,提高了底層獨立性。
  3. 無狀态。server不會儲存有關用戶端的任何狀态,即client自身負責使用者狀态的維持,并在每次發送請求時都需要提供足夠的資訊。
  4. 可緩存。減少client和server之間的資訊傳輸,以提高性能。
  5. 統一的接口。核心特征。一個REST系統需要使用一個統一的接口來完成子系統之間以及服務與使用者之間的互動。這使得系統中的各個子系統可以獨自完成演化。
    1. 資源的識别。每個資源都擁有一個資源辨別,可以唯一地表明該資源(如URI)
    2. 消息的自描述性。消息需要能夠提供自身如何被處理的足夠資訊。
    3. 資源的自描述性。一個REST系統所傳回的資源需要能夠描述自身,并提供足夠的用于操作該資源的資訊,如如何對資源進行添加,删除以及修改等操作。
    4. HATEOAS。即客戶隻可以通過服務端所傳回各結果中所包含的資訊來得到下一步操作所需要的資訊,如到底是向哪個URL發送請求等。

如果一個系統滿足了上面所列出的五條限制,那麼該系統就是RESTful的。

作者:AmyZYX

出處:http://www.cnblogs.com/amyzhu/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

繼續閱讀