In order to answer this question first lets understand how does browser and server work when we request any website. Below figure depicts pictorially the web environment. When client sends data to the server it post backs form element data, hidden fields,images,cookie information to the server and server make the page and sends the same information back to the browser. The bad part this happens with every request and response. Below are the issues with the above model:- Unnecessary data transfers: - In the above model unnecessary data is transferred between client and server. For instance the whole page is posted and refreshed even when we want small data of the page to be refreshed. Synchronous processing: - When a user request for a page he has to wait until the complete round trip happens. In short the request / response work on a synchronous model rather than asynchronous which makes user experience very difficult. How many times it has happened that you are requesting a page and you see the below screen…frustrating right.Unnecessary processing by server: - Because we are posting unnecessary information to the server, the server is overloaded with unnecessary processing.