Asp.net生命周期与Http协议

Http协议,底层的东西还是不是特别熟悉,感觉要经过沉淀之后才能理解这些东西吧

1.Asp.net生命周期

Asp.net生命周期:

从发起请求开始,到IIS进行处理的全部过程,然后再到获取结果

当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完毕将结果返回客户端。     inetinfo.exe进程:是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。     ASPNET_ISAPI.DLL:是处理.aspx文件的win32组件。其实IIS服务器是只能识别.html文件的,当IIS服务器发现被请求的文件是.aspx文件时,IIS服务器将其交给aspnet_isapi.dll来处理。     aspnet_wp.exe进程:ASP.NET框架进程,提供.net运行的托管环境,.net的CLR(公共语言运行时)就是寄存在此进程中。

ASP.NET Framework处理一个Http Request的流程:     HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()
ASP.NET请求处理过程是基于管道模型的,这个管道模型是由多个HttpModule和HttpHandler组成,ASP.NET把http请求依次传递给管道中各个HttpModule,最终被HttpHandler处理,处理完成后,再次经过管道中的HTTP模块,把结果返回给客户端。我们可以在每个HttpModule中都可以干预请求的处理过程。

 

 

2.Htpp协议的生命周期

这个感觉要后续继续加深理解之后再进行补充吧,目前就拿别人的思路来解答这个过程

 

1.输入url,浏览器DNS解析域名,获取ip

2.三次握手,建立tcp链接

3.向服务端发送http请求

4.服务端处理请求并响应

5.浏览器渲染HTML

6在渲染的过程中继续加载css,js,图片,音频,视频文件

7 呈现给用户

 

posted @ 2018-10-09 18:18 饮雪俊枫 阅读(...) 评论(...) 编辑 收藏