I'll get to that in a little bit but before we talk about more of these details of "why REST?" if we're going to talk about all those complicated things, why bother ? right ? that we have for doing APls on the web so, let's go briefly over the other options there's the whole family of *-RPC APls so you could do XML-RPC, you could do JSON-RPC and those are very popular and in fact most APls that claim to be RESTful are actually doing a form of RPC so, this is arguably the most popular way to do Web APls that is, via RPC-style you also have SOAP which is very popular in certain circles %um, SOAP is a way of sharing your objects over the Web sort of... via a lot of XML, and a really complicated envelope and wrappers, and namespaces, tons of ceremony, but since you IDE generates it you don't have to care... theoretically %um and so, in the names of each of these styles 