3. History
HTTP :: HyperText Transfer Protocol
Tim Berners-Lee :: 1990s
Foundations of the Web
OSI Layer 7
Application Layer
Protocol
4. History
REST :: Representational State Transfer
2000 Doctoral Dissertation by Roy T. Fielding
http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
"Roy Thomas Fielding (born 1965) is an American computer
scientist[1], one of the principal authors of the HTTP specification, an
authority on computer network architecture[2] and co-founder of the
Apache HTTP Server project." (Wikipedia)
http://roy.gbiv.com/
@fielding
10. HTTP Status Codes
200 - OK
301 - Moved permanently
302 - Moved temporarily
404 - Not Found
500
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
HTTP/1.1 200 OK
Date: Mon, 31 Oct 2011 16:07:53 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
15. CRUD
Create :: POST
Read :: GET
Update :: PUT
Delete :: DELETE
* http://stackoverflow.com/questions/630453/put-vs-post-in-rest
16. Hypermedia
Linking
to other resources / media
HTML documents, resources
loosely coupled
Images, CSS, favicon, etc.
Like this image ->
http://cuip.uchicago.edu/~cac/images/Hypermedia.jpg
18. Resources
This guy explains REST in to his non-technical wife:
http://tomayko.com/writings/rest-to-my-wife
Good article on how to REST with curl:
http://blogs.plexibus.com/2009/01/15/rest-esting-with-curl/
Poster -- the Firefox plugin:
https://addons.mozilla.org/en-US/firefox/addon/poster/
You'd probably learn best by actually making some RESTful
calls. Pick a service that is free and RESTful and play around with it. I'd
recommend using http://www.twilio.com/ just because they offer you
$30 in free credit and you get to make, receive and control real phone
calls.