IIS工作原理

 

名词解析

IIS Web服务器

若要运行 ASP.NET Web 应用程序,需要一台 Web 服务器。用于 Microsoft 操作系统的成品 Web 服务器是 IIS,它包括 Web 服务器、文件传输协议 (FTP) 服务器、简单邮件传输协议 (SMTP) 虚拟电子邮件服务器以及其他设备。

进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础;

HTTP.SYS

HTTP.SYS是TCP之上的一个网络驱动程序,HTTP.SYS不属于IIS;

HTTP.SYS运行在内核模式下,作为操作系统的驱动程序运行。因此,HTTP.SYS不会受到用户代码的影响,它始终处于稳定运行状态,对用户的http请求进行监听,并及时作出反应。

IIS处理 图示

IIS工作原理_第1张图片

1

 

IIS工作原理_第2张图片

2

当服务器收到请求之后,请求会最终到达TCPIP.SYS 驱动程序(windows),然后转交 HTTP.SYS网络驱动程序中;

  1. 在HTTP.SYS 中会维护一个请求队列,当处理一个请求时会读取配置表(url和应用程序池关系 图片 2);
  2. 如果没有启动时,会通过 svchost.exe进程中的W3SVC服务根据IIS配置启动应用程序池;如果启动 HTTP.SYS会将请求转交给IIS管理;到此HTTP.SYS 的任务完成了一部分了;

当请求转交给IIS时

  1. IIS会根据请求内容(静态文件图片,文本直接转为二进制流返回给 HTTP.SYS);
  2. 如果请求内容是动态文件(aspx,cshtml)时,一个新的对象w3wp.exe 会通过IIS配置加载请求文件对应的平台版本aspnet_isapi.dll(简称ISAPI );
  3. 当ISAPI(ASP.NET工作进程)运行之后,IIS将请求文件继续转交到ISAPI工作进程 IIS处理流程暂时结束了;后面的处理就交由ISAPI来完成了

原文地址:https://www.jianshu.com/p/aa79a8dcc808

 

你可能感兴趣的:(Web原理,ASP.NET)