Principled design of the modern Web architecture
Top Cited Papers
- 1 May 2002
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Internet Technology
- Vol. 2 (2) , 115-150
- https://doi.org/10.1145/514183.514185
Abstract
The World Wide Web has succeeded in large part because its software architecture has been designed to meet the needs of an Internet-scale distributed hypermedia application. The modern Web architecture emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. In this article we introduce the Representational State Transfer (REST) architectural style, developed as an abstract model of the Web architecture and used to guide our redesign and definition of the Hypertext Transfer Protocol and Uniform Resource Identifiers. We describe the software engineering principles guiding REST and the interaction constraints chosen to retain those principles, contrasting them to the constraints of other architectural styles. We then compare the abstract model to the currently deployed Web architecture in order to elicit mismatches between the existing protocols and the applications they are intended to support.Keywords
This publication has 27 references indexed in Scilit:
- Hypertext Transfer Protocol -- HTTP/1.1Published by RFC Editor ,1999
- Web-based development of complex information productsCommunications of the ACM, 1998
- Uniform Resource Identifiers (URI): Generic SyntaxPublished by RFC Editor ,1998
- A framework for event-based software integrationACM Transactions on Software Engineering and Methodology, 1996
- WWW: past, present, and futureComputer, 1996
- Uniform Resource Locators (URL)Published by RFC Editor ,1994
- Maintaining distributed hypertext infostructures: Welcome to MOMspider's WebComputer Networks and ISDN Systems, 1994
- The Internet Gopher Protocol (a distributed document search and retrieval protocol)Published by RFC Editor ,1993
- Distributed, object-based programming systemsACM Computing Surveys, 1991
- Paradigms for process interaction in distributed programsACM Computing Surveys, 1991