IIS体系结构及配置系统

一、IIS中的组件

  • IIS
    • Internet Information Service

1.1 协议侦听器(Protocol Listeners)

1.1.1 作用

  • 接收特定于协议的请求,将它们发送到IIS进行处理,然后将响应返回给请求者

1.1.2 HTTP协议侦听器——HTTP.sys

  • 默认情况下,IIS提供HTTP.sys作为协议侦听器,用于侦听HTTP和HTTPS请求
  • 若要支持使用HTTP和HTTPS以外的协议的服务和应用程序,可以使用Windows Communication Foundation(WCF)之类的技术

1.1.3 HTTP.sys的优点

  • 内核模式缓存
    • 缓存的响应请求将在不切换到用户模式的情况下提供。
  • 内核模式请求排队
    • 由于内核将请求直接转发到正确的工作进程,因此请求在上下文切换中的开销较小
    • 如果没有工作进程可用于接受请求,则内核模式请求队列将保留该请求,直到工作进程将其接收为止。
  • 请求预处理和安全过滤

1.2 服务

  • 在IIS 7和更高版本中,以前由万维网发布服务单独处理的功能现在在两个服务之间分配
    • 万维网发布服务(WWW Service)
    • Windows进程激活服务(WAS)
  • 这两个服务在同一Svchost.exe进程中作为LocalSystem运行,并共享相同的二进制文件

1.2.1 万维网发布服务(WWW Service)

1.2.1.1 作为HTTP.sys的侦听器适配器
  • WWW服务主要负责配置HTTP.sys
    • 在配置更改时更新HTTP.sys
    • 在请求进入请求队列时通知WAS
1.2.1.2 作为网站的计数器
  • 性能计数器仍然是WWW服务的一部分,但它们是HTTP特定的,不适用于WAS

1.2.2 Windows进程激活服务(WAS)

  • 在IIS 7和更高版本中,Windows进程激活服务(WAS)代替WWW服务管理应用程序池配置和工作进程
    • 可以对HTTP和非HTTP站点使用相同的配置和过程模型。
    • 可以在没有WWW服务的情况下运行WAS
1.2.2.1 配置管理
  • 在启动时,WAS从ApplicationHost.config文件中读取某些信息,并将该信息传递到服务器上的侦听器适配器
    • 侦听器适配器是在WAS和协议侦听器之间建立通信的组件
  • 侦听器适配器收到配置信息后,便会配置其相关的协议侦听器,并准备使侦听器侦听请求
1.2.2.2 流程管理
  • WAS管理HTTP和非HTTP请求的应用程序池和辅助进程
    • 当协议侦听器接收到客户端请求时,WAS将确定工作进程是否正在运行
    • 如果应用程序池已经具有正在处理请求的工作进程,则侦听器适配器将请求传递到工作进程进行处理
    • 如果应用程序池中没有工作进程,则WAS将启动一个工作进程,以便侦听器适配器可以将请求传递给它进行处理
1.2.2.3 对非Http请求的支持
  • 利用TCP监听器、命名管道监听器和MSMQ监听器提供基于TCP、命名管道和MSMQ传输协议的监听支持
  • TCP监听器、命名管道监听器和MSMQ监听器和相应的监听适配器定义在SMSvcHost.exe

二、IIS中的请求处理

2.1 IIS中的HTTP请求处理

在这里插入图片描述

  1. 当客户端浏览器对Web服务器上的资源发起HTTP请求时,HTTP.sys会拦截该请求。
  2. HTTP.sys与WAS联系以从配置存储中获取信息。
  3. WAS从配置存储applicationHost.config请求配置信息。
  4. WWW服务接收配置信息,例如应用程序池和站点配置。
  5. WWW服务使用配置信息来配置HTTP.sys。
  6. WAS为发出请求的应用程序池启动工作进程。
  7. 工作进程处理该请求,并将响应返回给HTTP.sys。
  8. 客户端收到响应。

三、配置系统

3.1 全局配置

  • 在根(或全局)级别,有两个单独的文件:
    • applicationHost.config
      • windows\system32\inetsrv\config\applicationHost.config
      • 保留Web服务器(IIS)设置的全局默认值
    • machine.config
      • \Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
      • 保存.NET Framework设置的全局默认值
        • 包括一些ASP.NET设置
          • 其余设置在web.config中(在同一文件夹)

3.2 配置文件结构

  • 配置文件之间存在继承关系
    在这里插入图片描述

3.3 配置系统的核心

  • 配置系统的核心是声明式架构
    • 配置架构跨越多个文件,这些文件位于一个众所周知的位置
      • system32\inetsrv\config\schema
  • 以下三个文件构成了Web服务器平台的统一架构:
    • IIS_schema.xml
      • 涵盖Windows激活系统和IIS Web服务器设置以及部分组。
    • ASPNET_schema.xml
      • 在部分组中介绍了ASP.NET设置。
    • FX_schema.xml
      • 在各个部分组中介绍了其他.NET Framework设置
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值