Content deleted Content added
Attempt to make the article more readable by separating the terms and concepts and explaining them with better examples. |
No edit summary |
||
Line 46:
===REST===
The [[Representational State Transfer|REST]] protocol is a messaging protocol built on top of the ''HTTP protocol'', and, similarly, uses the ''request-reply'' pattern of message exchange. While HTTP's primary goal is to deliver web pages and files over the Internet which are targeted for a human end-user, the ''REST'' protocol is mostly used for communication between different software systems, and has a key role in the [[microservices]] software architecture pattern. Among the notable qualities of the REST protocol is that it is versatile enough to represent data in many other formats (typically JSON and XML) and that it provides additional metadata descriptors for the message it represents. The metadata descriptors follow the HTTP standards by being represented as HTTP headers (which are standardized by the underlying HTTP protocol) and so they could be used as instructions for the receiving party on how to interpret the message payload. Because of that, REST greatly improves the development of a software system that is capable of communicating with another software system, since the developers need to be aware only of the higher-level format of the message payload (the JSON or XML model). The actual HTTP communication is usually handled by a software library or framework.
Another great quality of the REST protocol is that it is suitable to built other protocol semantics on top of it, which is the example with [[HATEOAS]].
|