REST stands for Representation State Transfer. It is stateless, client-server communication protocol. REST is an architectural style for designing distributed application. Here instead of using complex mechanism to connect between machines, simple HTTP is used to make calls between machines.
RESTful application is use HTTP request to post data for the CRUD operation. Here CRUD stands for Create, Read, Update and Delete.
REST is a lightweight alternative of SOAP based web services and Remote Procedure Calls. It is very simple, fully featured and having all capabilities the SOAP based Web Service have.
REST services are Platform Independent, Language Independent, Standard based as run on HTTP and importantly can easily be used in presence of the Firewall.
REST does not offer ant built-in security feature, encryption, session management, QoS guarantees. But we can very well built these on top of HTTP. For security Username/password tokens are passed. For encryption REST can be used on top of HTTPS.
RESTful services can be called from the url using simpler GET request, and the HTTP reply is just the raw result data. Result was not embedded in anything, data would be in XML, CSV, RSS, ATOM and JSON format. Unlike SOAP based web services it does not require any library to create the SOAP request and send over the wire and in the client side parse the response.
e.g. if you want to see details of a book from a bookstore. Request to fetch the book's detail will be http://mybookstore.com/book/1. Here 1 is the book id and you are interested to fetch the details of the book having Id =1.
The default method types present in RESTful services will be GET, POST, PUT or DELETE. Get is used for reading data, POST is for insert, PUT is for update and DELETE is for simply deleting any resource.
In SOAP based web services we used Envelope to send data from one machine to another machine. Inside envelope there will be header, body etc. In REST it is a postcard. Postcards are easy to handle by the receiver, waste less paper (consuming less bandwidth) and have short content. Though REST request does not has any limitation in the length if we will use POST rather than GET and security wise also it is same as SOAP based web services.