Principled Design of the Modern Web Architecture

TitlePrincipled Design of the Modern Web Architecture
Publication TypeJournal Article
Year of Publication2002
AuthorsFielding, R. T., and R. N. Taylor
JournalACM Transactions on Internet Technology (TOIT)ACM Transactions on Internet Technology (TOIT)
Date PublishedMay
Keywordsarchitectural style, Hypermedia, software architecture

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 system. 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 paper, we introduce the Representational State Transfer (REST) architectural style, developed as an abstract model of the Web architecture 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.