@article{fielding:acmtit2002, 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.}, address = {New York, NY, USA}, author = {Fielding, Roy T. and Taylor, Richard N.}, citeulike-article-id = {149347}, citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=514185}, citeulike-linkout-1 = {http://dx.doi.org/10.1145/514183.514185}, doi = {10.1145/514183.514185}, issn = {1533-5399}, journal = {ACM Trans. Internet Technol.}, keywords = {rest}, month = {May}, number = {2}, pages = {115--150}, posted-at = {2008-11-27 16:30:39}, priority = {2}, publisher = {ACM}, title = {Principled design of the modern Web architecture}, url = {http://dx.doi.org/10.1145/514183.514185}, volume = {2}, year = {2002} } @book{restful, author = {Richardson, Leonard and Ruby, Sam}, citeulike-article-id = {3374906}, citeulike-linkout-0 = {http://portal.acm.org/citation.cfm?id=1406352}, isbn = {9780596529260}, keywords = {rest, restful, web, web-services}, posted-at = {2008-10-04 20:01:55}, priority = {2}, publisher = {O'Reilly}, title = {{REST}ful web services}, url = {http://portal.acm.org/citation.cfm?id=1406352}, year = {2007} } @manual{json, author = "Douglas Crockford", title = "Introduction to JSON", url = {http://json.org/}, note = {\href{http://json.org/}{http://json.org/}} } @misc{rfc2616, title = {RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1}, author = {Roy Fielding and Jim Gettys and Jeff Mogul and H. Frystyk and L. Masinter and P. Leach and Tim Berners-Lee}, url = {http://www.w3.org/Protocols/rfc2616/rfc2616.html}, note = {\href{http://www.w3.org/Protocols/rfc2616/rfc2616.html}{http://www.w3.org/\-Protocols/\-rfc2616/\-rfc2616.html}} }