top of page
  • Writer's pictureChockalingam Muthian

The REST API Design

๐Ÿญ. ๐—–๐—น๐—ถ๐—ฒ๐—ป๐˜-๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ: Separation of concerns is the principle behind the client-server constraints. By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components.


๐Ÿฎ. ๐—ฆ๐˜๐—ฎ๐˜๐—ฒ๐—น๐—ฒ๐˜€๐˜€: communication must be stateless, as in the client-stateless-server (CSS) style. Each request from the client to the server must contain all of the information necessary to understand the request. Session state is therefore kept entirely on the client.


๐Ÿฏ. ๐—–๐—ฎ๐—ฐ๐—ต๐—ฒ๐—ฎ๐—ฏ๐—น๐—ฒ: To improve network efficiency, we add cache constraints to form the client-cache-stateless-server style. Cache constraints require that the data respond to a request with the implicit or explicit label as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests.


๐Ÿฐ. ๐—Ÿ๐—ฎ๐˜†๐—ฒ๐—ฟ๐—ฒ๐—ฑ ๐—ฆ๐˜†๐˜€๐˜๐—ฒ๐—บ: A client cannot ordinarily tell whether it is connected directly to the end server or an intermediary along the way. Intermediary servers may improve system scalability by enabling load-balancing and by providing shared caches. Layers may also enforce security policies.


๐Ÿฑ. ๐—–๐—ผ๐—ฑ๐—ฒ-๐—ผ๐—ป-๐——๐—ฒ๐—บ๐—ฎ๐—ป๐—ฑ: REST allows client functionality to extend by downloading and executing code in the form of applets or scripts. Simplifies clients by reducing the number of features required to be pre-implemented. It allows features to download after deployment improves system extensibility.


๐Ÿฒ. ๐—จ๐—ป๐—ถ๐—ณ๐—ผ๐—ฟ๐—บ ๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐—ณ๐—ฎ๐—ฐ๐—ฒ: By applying the software engineering principle of generality to the component interface, the overall system architecture becomes simplified, and the visibility of interactions is improved.




14 views0 comments

Recent Posts

See All

LLM Tech Stack

Pre-trained AI models represent the most important architectural change in software development. They make it possible for individual developers to build incredible AI apps, in a matter of days, that

bottom of page