IIS工作原理

1.服务端的http.sys接收请求,它负责监听来自外部的HTTP请求,根据请求的URl将其转发给相应的应用程序池(application pool),当此HTTP请求处理完成时,它又负责把处理完成的结果发送出去,为了提供更好的性能,http.sys内部建立了一个缓冲区,将最近的HTTP请求保存起来.

2.http.sys收到请求后,将请求传给应用程序池的工作进程(inetinfo.exe)

    工作进程接收到请求后,首先根据后缀找到并加载对应的ISAPI扩展 (如:aspx 对应的映射是aspnet_isapi.dll),工作进程加载完aspnet_isapi.dll后,由aspnet_isapi.dll负责加载 ASP.NET应用程序的运行环境即CLR (.NET Runtime)。

ISAPI:能够处理各种后缀名的应用程序

这个dll(aspnet_isapi.dll)是.net framework里面的,也就是说到这一步,请求进入了.net framework的管辖范围。

3.如果静态页面htmlIIS的工作进程可以立即处理,找到html页面返回客户端显示,但是如果是.aspx 或cshtml等页面,IIS不能直接处理,需要先加载aspnet_isapi.dll 应用程序

4.这个时候如果是WebForm,开始执行复杂的页面生命周期(HttpRuntime→ProcessRequest→HttpContext→HttpHandler);如果是MVC,则启动mvc的路由机制,根据路由规则为URL来指定HttpHandler

5.httpHandler处理请求后,请求结束,给出Response,客户端处理响应,整个过程结束。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值