Software components required for REST are categorized by their roles as follows:
Component role |
Function |
Examples |
Origin server |
It acts as the container or definitive source for the representation of resources being requested; it must be the ultimate recipient of any requests. It uses a server connector to receive and respond to requests. |
Web servers (Apache Tomcat, Microsoft IIS) |
User agent |
This is the user interface for the end user. It uses the client connector to initiate the request and get the response. |
Web browsers (Internet Explorer, Chrome, Lynx) |
Proxy |
This acts as an intermediary for requests from clients seeking resources. |
CGI Proxy, CERN Proxy |
Gateway |
This involves reverse proxies providing encapsulation of services such as security (encryption), performance enhancement (load balancing), or data translation (compression). |
Squid, NGINX |