REST-based Server
Jump to navigation
Jump to search
A REST-based Server is a network server that implements REST architectural style to provide stateless services through HTTP endpoints (for handling resource-oriented requests).
- AKA: RESTful Server, REST API Server, HTTP Resource Server.
- Context:
- It can handle HTTP Method through HTTP protocol:
- It can process GET Request for resource retrieval.
- It can manage POST Request for resource creation.
- It can support PUT Request for resource update.
- It can execute DELETE Request for resource removal.
- It can handle PATCH Request for partial update.
- It can typically provide Resource Representation through data formats:
- It can serve JSON Response for structured data.
- It can return XML Response for legacy system.
- It can provide HTML Response for web browser.
- It can implement REST Constraints through architectural patterns:
- It can maintain Stateless Communication through request independence.
- It can enable Uniform Interface through standard HTTP methods.
- It can support Resource Identification through URI structure.
- It can implement Self-descriptive Message through HTTP headers.
- ...
- It can often manage Authentication through HTTP authentication.
- It can often implement Authorization through access control.
- It can often support Caching through HTTP cache headers.
- It can often handle Rate Limiting through request throttling.
- It can often provide API Documentation through OpenAPI specification.
- ...
- It can range from being a Simple REST Server to being an Enterprise REST Server, depending on its scalability requirements.
- It can range from being a Basic HTTP Endpoint to being a Complex Resource Gateway, depending on its architectural complexity.
- ...
- It can integrate with Database System for data persistence.
- It can connect to Cache System for response caching.
- It can support Monitoring System for performance tracking.
- ...
- It can handle HTTP Method through HTTP protocol:
- Examples:
- Public REST API Servers, such as:
- Social Media APIs, such as:
- Payment APIs, such as:
- Cloud Service APIs, such as:
- Framework Implementations, such as:
- Java REST Servers, such as:
- Python REST Servers, such as:
- Node.js REST Servers, such as:
- ...
- Public REST API Servers, such as:
- Counter-Examples:
- GraphQL Server, which uses single endpoint instead of multiple resource endpoints.
- SOAP Server, which requires XML message instead of flexible representation.
- gRPC Server, which uses protocol buffer instead of HTTP method.
- WebSocket Server, which maintains persistent connection instead of stateless communication.
- Message Queue Server, which implements message broker pattern instead of request-response pattern.
- See: REST Architecture, HTTP Protocol, Resource Oriented Architecture, API Gateway, Web Service, Microservice Architecture.