ACM Home Page
Please provide us with feedback. Feedback
Principled design of the modern Web architecture
Full text PdfPdf (335 KB)
Source ACM Transactions on Internet Technology (TOIT) archive
Volume 2 ,  Issue 2  (May 2002) table of contents
Pages: 115 - 150  
Year of Publication: 2002
ISSN:1533-5399
Authors
Roy T. Fielding  Day Software, Newport Beach, CA
Richard N. Taylor  University of California, Irvine, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 86,   Downloads (12 Months): 505,   Citation Count: 26
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/514183.514185
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Anklesaria, F., et al. 1993. The Internet Gopher protocol (a distributed document search and retrieval protocol). Internet RFC 1436, March 1993.
 
3
Baker, M., et al. 2002. RESTwiki. <http://conveyor.com/RESTwiki/moin.cgi>, April 2002.
4
 
5
 
6
Berners-Lee, T. 1994. Universal resource identifiers in WWW. Internet RFC 1630, June 1994.
 
7
Berners-Lee, T., Masinter, L., and McCahill, M. 1994. Uniform resource locators (URL). Internet RFC 1738, Dec. 1994.
 
8
Berners-Lee, T. and Connolly, D. 1995. Hypertext markup language---2.0. Internet RFC 1866, Nov. 1995.
 
9
 
10
Berners-Lee, T., Fielding, R. T., and Nielsen, H. F. 1996. Hypertext transfer protocol---HTTP/1.0. Internet RFC 1945, May 1996.
 
11
Berners-Lee, T., Fielding, R. T., and Masinter, L. 1998. Uniform resource identifiers (URI): Generic syntax. Internet RFC 2396, Aug. 1998.
 
12
Brooks, C., Mazer, M. S., Meeks, S., and Miller, J. 1995. Application-specific proxy servers as HTTP stream transducers. In Proceedings of the Fourth International World Wide Web Conference (Boston, MA, Dec. 1995), 539--548.
13
14
 
15
Davis, F., et. al. 1990. WAIS interface protocol prototype functional specification (v.1.5). Thinking Machines Corp., Apr. 1990.
 
16
Fielding, R. T. 1995. Relative uniform resource locators. Internet RFC 1808, June 1995.
 
17
 
18
 
19
Fielding, R. T., Gettys, J., Mogul, J. C., Nielsen, H. F., Masinter, L., Leach, P., and Berners-Lee, T. 1999. Hypertext transfer protocol---HTTP/1.1. Internet RFC 2616, June 1999.
20
 
21
Flanagan, D. 1999. Java™ in a Nutshell, 3rd ed. O'Reilly & Associates, Sebastopol.
 
22
Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., Sink, E., and Stewart, L. 1999. HTTP authentication: Basic and digest access authentication. Internet RFC 2617, June 1999.
 
23
Freed, N. and Borenstein, N. 1996. Multipurpose internet mail extensions (MIME) Part One: Format of internet message bodies. Internet RFC 2045, Nov. 1996.
 
24
Freed, N., Klensin, J., and J. Postel, J. 1996. Multipurpose internet mail extensions (MIME) Part Four: Registration procedures. Internet RFC 2048, Nov. 1996.
 
25
 
26
Garlan, D. and Shaw, M. 1993. An introduction to software architecture. Ambriola and Tortola, eds. In Advances in Software Engineering & Knowledge Engineering, vol. II, World Scientific 1993, 1--39.
 
27
28
 
29
 
30
Holtman, K. and Mutz, A. 1998. Transparent content negotiation in HTTP. Internet RFC 2295, March 1998.
 
31
Kristol, D. and Montulli, L. 1997. HTTP state management mechanism. Internet RFC 2109, Feb. 1997.
 
32
 
33
 
34
 
35
Mogul, J., Fielding, R. T., Gettys, J., and Nielsen, H. F. 1997. Use and interpretation of HTTP version numbers. Internet RFC 2145, May 1997.
 
36
Nielsen, H. F., Leach, P., and Lawrence, S. 2000. HTTP extension framework, Internet RFC 2774, Feb. 2000.
 
37
38
 
39
Postel, J. 1996. Media type registration procedure. Internet RFC 1590, Nov. 1996.
 
40
Postel, J. and Reynolds, J. 1985. File transfer protocol. Internet STD 9, RFC 959, Oct. 1985.
41
42
 
43
Sollins, K. and Masinter, L. 1994. Functional requirements for Uniform Resource Names. Internet RFC 1737, Dec. 1994.
 
44
Spero, S. E. 1994. Analysis of HTTP performance problems. Published on the Web, <http://metalab.unc.edu/mdma-release/http-prob.html>.
45
 
46
 
47
 
48
Wolman, A., Voelker, G., Sharma, N., Cardwell, N., Brown, M., Landray, T., Pinnel, D., Karlin, A., and Levy, H. 1999. Organization-based analysis of Web-object sharing and caching. In Proceedings of the 2nd USENIX Conference on Internet Technologies and Systems (Oct. 1999).

CITED BY  26

Collaborative Colleagues:
Roy T. Fielding: colleagues
Richard N. Taylor: colleagues