Since you have HTML and HTTP, you have browsers and Web servers, and you have Web applications, the initial interaction pattern is this:
This pattern runs well for many years. However, with the development of computer application, people are more and more not satisfied with only static content of the page, and by some mechanism of the dynamic production of HTML and other code needs more and more urgent, so many technologies have emerged, ASP.net is such a technology. Essentially, ASP.net is a technology that dynamically generates code that is known to browsers such as HTML, CSS, JavaScript, and so on. The asp.net interactive mode is as follows:
The diagram shows that asp.net must solve two major problems, one is how to interact with the Web server (generally referred to as IIS), and how to produce different HTML code based on different requests.
First, depending on the version of IIS (5.*,6.0,7.0), ASP.net has different process patterns and different interaction patterns, which is not what this article is about. Generally speaking, you do not have to care about this issue, and to understand the problem, but also must be aware of the IIS versions of the model, and each version of each different, so I am basically not prepared to tell this question, if you are interested, you can search the relevant information.
Let's discuss the second question, first of all, because the IIS7.0 process pattern changes quite a bit, and I don't understand the IIS7.0 model, so the following and later narration will only be for iis5.* and IIS6.0. We have reason to think that the narration of iis5.* and IIS6.0 is generally applicable to IIS7.0.