RESTFUL web service is a types of web service. Mainly it helps to transfer the web contain to client from server. Moreover Its effective method than the other web service, because its easy to access.
Its completely language independent, So that the developer can use any language to create this. So RESTFUL should follow some principle. They are:
1) Uniform Interface
2) Stateless
3) Cacheable
4) layered system
5) Code on Demand
Uniform Interface
Its actually explain in detail in previous blog clearly. Moreover it has 3 important element like : resource, URL, HTTP. It helps the RESTFUL service to transfer using URL through HTTP protocol.
Stateless in RESTFUL
Its an important property of RESTFUL web service. Similarly like HTTP transfer protocol. This web service never keeps the track of the communication between client and server.
Because of this nature, cache file inserted into the client’s device. Its deliberately done by server. Since it hasn’t have any connection with client, its performance increase, due to less overhead.
Cacheable in RESTFUL
The special element of RESTFUL is cacheable. Already mentioned above i.e stateless, This service use cache file to connect client and server for future use.
Server determines the maximum time the cache alive in clients device and its visibility. It will present at the header of server’s response to client’s request.
Example: If we take e-commerce, though we left site after added some things to cart, once we revisit the things still stays at the cart. This is because of Cache.
Layered System
Layering is the most important concept in RESTFUL web service. It has multi layer in between client and server. These layer can focus on many different service.
All these layers are HTTP intermediates. Moreover it helps to enhance the message translation, cacheable, performance, scalability and response-request relationship in web service.
It has some layers like proxy, gateway and cache to make sure the clients feels no lag in performance.
Code on Demand
Its a final principle in this service. Its an ability to download and execute the code at client device similarly like javascript in web browser. Moreover its an optional in this.