IIS处理客户端请求步骤
来源:互联网 发布:惠普云计算 编辑:程序博客网 时间:2024/04/30 02:03
当请求一个*.asp页面文件的时候,这个HTTP请求首先会被一个名为inetinfo.exe进程所截获,这个进程实际上就是www服务。截获之后它会将这个请求转交给asp.dll进程,这个进程就会解释这个asp页面,然后将解释后的数据流返回给客户端浏览器。其实ASP.DLL是一个依附在IIS的ISAPI文件,它负责了对诸如ASP文件,ASA等文件的解释执行。
当客户端向web服务器请求一个*.aspx的页面文件时,同asp类似,这个http请求也会被inetinfo.exe进程截获(www服务),它判断文件后缀之后,把这个请求转交给ASPNET_ISAPI.DLL而ASPNET_ISAPI.DLL则会通过一个Http PipeLine的管道,将这个http请求发送给ASPNET_WP.EXE进程,当这个HTTP请求进入ASPNET_WP.EXE进程之后,asp.net framework就会通过HttpRuntime来处理这个Http请求,处理完毕后将结果返回给客户端。asp.net的执行步骤是:
1.IIS接收到客户请求
2. IIS把请求交给aspnet_isapi.dll处理
3.(如果是第一次运行程序)装载bin目录中的dll
4.(如果是第一次运行程序)读取各级webconfig中的配置
5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例
6.创建响应请求的HttpContext
7.创建承载响应结果的HttpTextWriter
8.找到合适的HttpHandler(asp.net页面),处理http请求
9.处理session,异常
10.把处理结果反馈个客户
ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHandler,HttpHandler处理完之后,仍经过Pipeline中各个HttpModule的处理,最后将HTML发送到客户端浏览器中。
生命周期中涉及到几个非常重要的对象:HttpHandler,HttpModule,IHttpHandlerFactory,他们的执行(顺序)大致的执行过程是这样的:client端发送页面请求,被IIS的某个进程截获,它根据申请的页 面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll; .aspx->ISAPI.dll).而页面处理程序在处理过程中,则要经历HttpModule,HttpHandler的处理:前者HttpModule用于页面处理前和处理后的一些事件的处理,后者HttpHandler进行真正的页面的处理。
如前所说,HttpModule会在页面处理前和后对页面进行处理,所以它不会影响真正的页面请求。通常用在给每个页面的头部或者尾部添加一些信息(如版 权声明)等.曾经见过一些免费的空间,我们的页面上传上去后,浏览的时候发现,在每个页面的头部和尾部多了很多小广告....,如果理解了 HttpModule的原理,要做这个就不是很难了~
- IIS处理客户端请求步骤
- IIS处理请求
- Struts2 请求处理步骤
- IIS处理Asp.net请求
- MVC请求IIS处理过程
- ASP.NET处理请求步骤
- 使用JSP处理客户端请求
- 使用Jsp处理客户端请求
- PHP处理客户端数据请求
- Servlet处理客户端HTTP请求
- tomcat处理客户端请求原理
- IIS架构与HTTP请求处理流程
- IIS架构与HTTP请求处理流程
- IIS架构与HTTP请求处理流程
- IIS处理ASP.NET请求过程描述
- 浏览器与IIS的请求处理响应
- 模拟IIS处理浏览器的请求
- IIS是如何处理HTTP请求
- Android中Bitmap对象和字节流之间的相互转换
- Java中类的属性和方法的访问控制
- ubuntu下vim配置使用
- linux客户端Socket非阻塞connect编程
- 类的默认属性与接口的默认方法
- IIS处理客户端请求步骤
- Struts2和Struts1的区别
- (转)RHEL/CentOS 5.x使用第三方软件库(EPEL与RPMForge、RPMFusion软件库)
- gdb多线程调试
- Struts2 Action配置通配符
- pppoe、webportaldot1x认证对比
- 使用sql server CLR项目生成的存储过程不返回值问题
- 使用Matrix对bitmap的旋转和镜像水平垂直翻转
- loadView的用法