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 呈现给用户