Restful

Representational State Transfer (REST) is a software architecture style consisting of guidelines and best practices for creating scalable web services. REST is a coordinated set of constraints applied to the design of components in a distributed hypermedia system that can lead to a more performant and maintainable architecture.web

 

  從上面的定義中,咱們能夠發現REST實際上是一種組織Web服務的架構,而並非咱們想象的那樣是實現Web服務的一種新的技術,更沒有要求必定要使用HTTP。其目標是爲了建立具備良好擴展性的分佈式系統。緩存

  反過來,做爲一種架構,其提出了一系列架構級約束。這些約束有:服務器

  1. 使用客戶/服務器模型。客戶和服務器之間經過一個統一的接口來互相通信。
  2. 層次化的系統。在一個REST系統中,客戶端並不會固定地與一個服務器打交道。
  3. 無狀態。在一個REST系統中,服務端並不會保存有關客戶的任何狀態。也就是說,客戶端自身負責用戶狀態的維持,並在每次發送請求時都須要提供足夠的信息。
  4. 可緩存。REST系統須要可以恰當地緩存請求,以儘可能減小服務端和客戶端之間的信息傳輸,以提升性能。
  5. 統一的接口。一個REST系統須要使用一個統一的接口來完成子系統之間以及服務與用戶之間的交互。這使得REST系統中的各個子系統能夠獨自完成演化。

  若是一個系統知足了上面所列出的五條約束,那麼該系統就被稱爲是RESTful的。架構

相關文章
相關標籤/搜索