REST is an architectural style, as described in the link provided by Prabhu.
However, there is also a fundamental debate going on in the Web Services community under the headline of "REST vs. SOAP". In that context, "REST" doesn't really refer to the architectural style - it simply means using Plain Old XML (POX), together with HTTP, to communicate with a Web service, rather than SOAP and WSDL.
The topic of REST vs. SOAP is covered in Chapter 3 of my book.
Originally posted by Mark D. Hansen: In that context, "REST" doesn't really refer to the architectural style - it simply means using Plain Old XML (POX), together with HTTP, to communicate with a Web service, rather than SOAP and WSDL.
No, XML-RPC is a precursor to SOAP. It is a simple protocol for doing Remote Procedure Calls (RPC) using XML.
REST is an entire architectural style - not a protocol. It is not RPC oriented. However, many people incorrectly label as "REST" any type of XML over HTTP exchange that does not use SOAP.
The following comes from the Wikipedia article about REST:
REST strictly refers to a collection of architectural principles (described below). The term is also often used in a loose sense to describe any simple interface that transmits domain-specific data over HTTP without an additional messaging layer such as SOAP or session tracking via HTTP cookies. These two meanings can conflict as well as overlap. It is possible to design any large software system in accordance with Fielding's REST architectural style without using the HTTP protocol and without interacting with the world wide web. It is also possible to design simple XML+HTTP interfaces that do not conform to REST principles, and instead follow a Remote Procedure Call (RPC) model. The two different uses of the term REST cause some confusion in technical discussions.