If you hang out with the web 2.0 kids long enough you'll inevitably hear the word REST/RESTful.  I've gotten this question enough from the CS students I work with to create a little knowledge nut right here:

REST = Representational State Transfer

In a canonical desktop application we have objects (ie cyBlog) and methods (getPost()).  If I want to get a post from Cy's blog I'd write something like cyBlog.getPost().  Now, to do anything with the actual post I'd probably store a local copy and pass it around internally.  This happens so much with the web we've stared to look at everything as an object.  So, rather than doing a method call to get cy's post I'd go to a resource - www.cyBlog.com/getpost (yes - the entire world wide web is RESTful).  This makes it a TON easier for a more diverse and rapidly changing set of services interaction.  I really don't care who or what you are as long as you can use HTTP to ask me for information.  Also, if the connection is lost - I can just retry at the same URL - no state information is lost (in RPC if you loose the connect you're back to square one).

How is this different than Remote Procedure Call (RPC)?

RPC looks like the classic cyBlog.getPost() way of grabbing data.  You just open a client connection first.  In RPC think of everything as a verb - get this set that.  REST is all noun based - go to get or set as a URL.