Client-server architecture The API defines all communication between the client and the server, which are separate components and free to be developed independently. Layered system The client is indifferent to whether it is communicating directly or indirectly with the server. Cacheability A response can be cached if the same request will return the same result …