RESTful interfaces
RESTful interfaces are incredibly common these days, and for good reason. They've become the de facto standard in web services that serve other applications.
Representational State Transfer (REST) was defined in 2000 in a Ph.D. dissertation by Roy Fielding, and it uses HTTP standards as a basis to create a definition of a software architecture style.
For a system to be considered RESTful, it should follow certain rules:
- Client-server architecture. It works through remote calling.
- Stateless. All the information related to a particular request should be contained in the request itself, making it independent from the specific server serving the request.
- Cacheability. The cacheability of the responses should be clear, either to say they are cacheable or not.
- Layered system. The client cannot tell if they are connected to a final server or if there's an intermediate server.
- Uniform interface, with four prerequisites...