HTTP is a stateless protocol; it can’t hold the client information on page. In other words after every request and response the server does not remember the state, data and who the user was. If user inserts some information, and move to the next page, that data will be lost and user would not able to retrieve the information.So, Session provides that facility to store information on server memory.
Below is the diagram to understand in better manner.
In the above example, when the user request the IIS server for the Page1.aspx then the request is broadcasted to the user/client browser and the connection is broken, Now when the same user request the IIS server for the Page2.aspx then again the request is broadcasted to the user/client browser but this time again the same user is treated as a new user as the connection was broken by IIS
server after displaying the Page1.aspx page.
So every single time a new request is made the same user is treated as a new one, so in order to maintain this we need Sessions.
Please click here to see more .NET/ASP.NET interview questions