官术网_书友最值得收藏!

Basics of REST

REST (Representational State Transfer) is an architectural style for creating web services. REST is not standard, but it defines a set of constraints defined by Roy Fielding. The six constraints are the following:

  • Stateless: The server doesn't hold any information about the client state.
  • Client server: The client and server act independently. The server does not send any information without a request from the client.
  • Cacheable: Many clients often request the same resources, therefore it is useful to cache responses in order to improve performance.
  • Uniform interface: Requests from different clients look the same. Clients may be, for example, a browser, a Java application, and a mobile application.
  • Layered system: REST allows us to use a layered system architecture.
  • Code on demand: This is an optional constraint.

The uniform interface is an important constraint and it defines that every REST architecture should have following elements:

  • Identification of resources: There are resources with their unique identifiers, for example, URIs in web-based REST services. REST resources should expose easily understood directory structure URIs. Therefore, a good resource naming strategy is very important.
  • Resource manipulation through representation: When making a request to a resource, the server responds with a representation of the resource. Typically, the format of the representation is JSON or XML.
  • Self descriptive messages: Messages should have enough information that the server knows how to process them.
  • Hypermedia and the Engine of Application State (HATEOAS): Responses can contain links to other areas of service.

The RESTful web service that we are going to develop in the following topics follows the REST architectural principles.

主站蜘蛛池模板: 开阳县| 新巴尔虎左旗| 南阳市| 吉木乃县| 科尔| 江华| 东乡县| 灵寿县| 金堂县| 延边| 黄山市| 甘南县| 兴安县| 高州市| 太和县| 南通市| 保亭| 秭归县| 兴安盟| 平顺县| 宁国市| 县级市| 兰溪市| 贵州省| 仁化县| 霍城县| 东光县| 双峰县| 焦作市| 江孜县| 道真| 安康市| 镇雄县| 张家口市| 怀宁县| 积石山| 游戏| 禄丰县| 澄迈县| 泗水县| 收藏|