architect-handbook

Software Architect Handbook

View on GitHub

REST Architectural Properties

The constraints of the REST architectural style affect the following architectural properties:

Roy Fielding: “REST’s client-server separation of concerns simplifies component implementation, reduces the complexity of connector semantics, improves the effectiveness of performance tuning, and increases the scalability of pure server components.”

Roy Fielding: “Layered system constraints allow intermediaries (proxies, gateways, and fiewalls) to be introduced at various points in the communication without changing the interfaces between components, thus allowing them to assist in communication translation or improve performance via large-scale, shared caching. REST enables intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.”