1. 程式人生 > >rest 以及restful 簡單介紹

rest 以及restful 簡單介紹

REST:REpresentational State Transfer = 直接翻譯:表現層狀態轉移。

   通俗來講就是:資源在網路中以某種表現形式進行狀態轉移。

    Resource:資源,即資料(前面說過網路的核心)。比如 newsfeed,friends等;    Representational:某種表現形式,比如用JSON,XML,JPEG等;

    State Transfer:狀態變化。通過HTTP動詞實現。

    其實是一種組織Web服務的架構,而並不是我們想象的那樣是實現Web服務的一種新的技術,更沒有要求一定要使用HTTP。其目標是為了建立具有良好擴充套件性的分散式系統。

它是一種針對網路應用的設計和開發方式,可以降低開發的複雜性,提高系統的可伸縮性。

         REST是設計風格而不是標準。REST通常基於使用HTTPURI,和XML標準通用標記語言下的一個子集)以及HTML(標準通用標記語言下的一個應用)這些現有的廣泛流行的協議和標準。

   反過來,作為一種架構,其提出了一系列架構級約束。這些約束有:

    1. 使用客戶/伺服器模型。客戶和伺服器之間通過一個統一的介面來互相通訊。

    2. 層次化的系統。在一個REST系統中,客戶端並不會固定地與一個伺服器打交道。

    3. 無狀態。在一個REST系統中,服務端並不會儲存有關客戶的任何狀態。也就是說,客戶端自身負責使用者狀態的維持,並在每次傳送

請求時都需要提供足夠的資訊。

    4. 可快取。REST系統需要能夠恰當地快取請求,以儘量減少服務端和客戶端之間的資訊傳輸,以提高效能。

    5. 統一的介面。一個REST系統需要使用一個統一的介面來完成子系統之間以及服務與使用者之間的互動。這使得REST系統中的各個子系統可以獨自完成演化。

  如果一個系統滿足了上面所列出的五條約束,那麼該系統就被稱為是RESTful的。

例項講解