The client-server constraint operates on the concept that the client and the server should be separate from each other and allowed to evolve individually.
There is a clear separation of concerns between the two. The server takes care of the back-end stuff (data storage, business rules, etc.) and the client handles the front-end stuff (user interfaces, user experience, etc.). Today, this is standard practice in web development.
The implementation of the client and the server are done independently without each knowing about the other. This means that the code on the client/server side can be changed at any time without affecting the other side.
|Fielding’s thesis part||https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#fig_5_2|