|
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
|
Roy T. Fielding , E. James Whitehead, Jr. , Kenneth M. Anderson , Gregory A. Bolcer , Peyman Oreizy , Richard N. Taylor, Web-based development of complex information products, Communications of the ACM, v.41 n.8, p.84-92, Aug. 1998
[doi> 10.1145/280324.280337]
|
| |
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
|
Richard N. Taylor , Nenad Medvidovic , Kenneth M. Anderson , E. James Whitehead, Jr. , Jason E. Robbins , Kari A. Nies , Peyman Oreizy , Deborah L. Dubrow, A Component- and Message-Based Architectural Style for GUI Software, IEEE Transactions on Software Engineering, v.22 n.6, p.390-406, June 1996
[doi> 10.1109/32.508313]
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peyman Oreizy , Nenad Medvidovic , Richard N. Taylor, Runtime software adaptation: framework, approaches, and styles, Companion of the 30th international conference on Software engineering, May 10-18, 2008, Leipzig, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Seth Holloway , Drew Stovall , Angela Dalton , Christine Julien, So many sensors, so little data, Proceedings of the 1st international workshop on Software architectures and mobility, May 10-10, 2008, Leipzig, Germany
|
|
|
Xiwei Xu , Liming Zhu , Yan Liu , Mark Staples, Resource-oriented business process modeling for ultra-large-scale systems, Proceedings of the 2nd international workshop on Ultra-large-scale software-intensive systems, p.65-68, May 10-11, 2008, Leipzig, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|