LLMpediaThe first transparent, open encyclopedia generated by LLMs

REST (HTTP)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Service Cloud Hop 5
Expansion Funnel Raw 68 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted68
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
REST (HTTP)
NameREST (HTTP)
CaptionRepresentational State Transfer applied to HTTP services
Introduced2000
DesignerRoy Fielding
RelatedHTTP, URI, AJAX

REST (HTTP) is an architectural style for distributed hypermedia systems popularized in Roy Fielding's doctoral dissertation. It prescribes constraints on networked interactions to achieve scalability, generality of interfaces, and evolvability for web technologies such as HTTP, URI, and HTML. RESTful design influenced many Internet-era platforms and protocols across companies and standards bodies.

Overview

Representational State Transfer emerged from Roy Fielding's 2000 dissertation at the University of California, Irvine and quickly informed work at organizations such as IETF, W3C, and Apache Software Foundation. The model treats networked resources as addressable via Uniform Resource Identifiers and manipulated through a small set of uniform operations defined by Hypertext Transfer Protocol. REST contrasts with earlier distributed architectures like CORBA, DCOM, and SOAP-centric stacks promoted by vendors including Microsoft and IBM. Influences and contemporaries include HTML, XML, JSON, and technologies used by companies such as Amazon (company), Google, Facebook, and Twitter for large-scale web APIs.

Principles and Constraints

REST defines six architectural constraints: client–server, statelessness, cacheability, layered system, code on demand (optional), and a uniform interface. These constraints build on concepts from Fielding (dissertation) and link to standards work at IETF and historical designs like the World Wide Web by Tim Berners-Lee. Stateless constraints resemble session models in UNIX and earlier ARPANET research. Cacheability interacts with header semantics from Hypertext Transfer Protocol and practices used by Mozilla Firefox, Google Chrome, and Internet Explorer vendors for web caching and proxying. The uniform interface separates resource identification (via Uniform Resource Identifier), representation negotiation (e.g., MIME types such as application/json), and hypermedia-driven state transitions influenced by Hypermedia as the Engine of Application State and early hypertext systems.

HTTP Methods and Status Codes

RESTful services commonly map CRUD operations to HTTP verbs: GET, POST, PUT, PATCH, DELETE, OPTIONS, and HEAD. These verbs originate in Hypertext Transfer Protocol specifications developed in the IETF HTTP Working Group and are implemented by web servers such as Apache HTTP Server, Nginx, and Microsoft IIS. Status codes (1xx–5xx) signal result classes and are standardized in RFCs authored by contributors from organizations like IETF and companies including Cisco Systems. Implementations often align GET with safe, idempotent retrieval, PUT with idempotent updates, POST with non-idempotent creation or action submission, and PATCH with partial modification as defined in RFCs influenced by authors affiliated with Mozilla Foundation and corporate implementers at Google and Facebook.

Architectural Style and Design Patterns

Design patterns for RESTful systems include resource-oriented design, HATEOAS, content negotiation, and explicit hypermedia formats like HAL, Siren, or JSON:API. These patterns evolved alongside frameworks such as Ruby on Rails, Spring Framework, Node.js, and Django and were adopted in platforms run by Netflix, Spotify, and GitHub. Architectural trade-offs draw on distributed systems theory from researchers affiliated with MIT, Stanford University, and Carnegie Mellon University, and on practical scaling approaches used by Amazon Web Services and Google Cloud Platform.

Security and Authentication

Security considerations for RESTful HTTP services involve transport-layer protections via Transport Layer Security, authentication schemes such as HTTP Basic, OAuth, and JWT, and authorization models like ACLs and RBAC. OAuth evolved through work by participants from Twitter, Google, and Paypal and standards overseen by IETF working groups. TLS deployments are monitored and guided by organizations like IETF and Mozilla Foundation, while incident responses and threat modeling draw on practices from US-CERT, NIST, and security researchers at companies like Microsoft and Cisco Systems.

Performance, Caching, and Scalability

Performance strategies include HTTP-level caching, CDN usage, pagination, and asynchronous patterns (long polling, WebSockets). Content Delivery Networks provided by companies such as Akamai Technologies, Cloudflare, and Amazon CloudFront leverage HTTP caching semantics from RFC 7234 and reverse-proxy behavior seen in Varnish and HAProxy. Scalability patterns incorporate statelessness favored in cloud-native platforms like Kubernetes, microservices orchestrated with Docker, and load balancing techniques employed by NGINX, Inc. and F5 Networks.

Criticisms and Alternatives

Critiques of REST focus on overloading HTTP verbs for RPC-like workflows, under-specified hypermedia practice, and inefficiencies for complex queries. Alternatives and complements include GraphQL (originating at Facebook), gRPC (from Google), and OData (promoted by Microsoft), each offering different trade-offs in schema, versioning, and performance. Academic criticism and practical debate have appeared in venues such as ACM, IEEE, and industry forums including Stack Overflow and conferences hosted by O'Reilly Media.

Category:Web architecture