REST strictly refers to a collection of network architecture principles which outline how resources are defined and addressed. The term is often used in a looser sense to describe any simple interface which transmits domain-specific data over HTTP without an additional messaging layer such as SOAP or session tracking via HTTP cookies.
- Application state and functionality are divided into resources
- Every resource is uniquely addressable using a universal syntax for use in hypermedia links
- All resources share a uniform interface for the transfer of state between client and resource, consisting of
- A constrained set of well-defined operations
- A constrained set of content types, optionally supporting code on demand
- A protocol which is:
Difference between POX/HTTP, SOAP, and REST....
REST is an architectural style that is independent, but compatible, with XML. It’s about identifiable resources, resource representations, a fixed (uniform) interface, and linking. HTTP is REST’s most popular instantiation.
POX/HTTP means exchanging plain old XML documents over HTTP. RESTful POX, i.e. using XML in a RESTful manner, would mean POX is a subset of REST. Many, if not most POX applications don’t care about REST very much, though — they’d thus be part of a distinct set of applications.
SOAP is a standard document format for building high-level protocols. Anything that uses SOAP is (by definition) not just using plain old XML, and thus not POX; it may be RESTful, unless it violates REST principles.
For best explanations visit http://tomayko.com/writings/rest-to-my-wife.