[ASP.NET学习笔记之三十二]IIS 5.1/6.0 内幕

IIS 概述及历史

IIS 1

19962

Windows NT 3.51 Server

对三个通用Internet协议的支持(HTTP,FTP,Gopher)

CGI(Common Gateway Interface)的支持

Windows NT 平台集成(服务)

虚拟服务器

虚拟目录

Internet 服务器API (ISAPI),允许使用高级语言(如C++)编写动态Web应用程序并将其合并到HTML页中的应用程序编程接口

Internet 数据库连接器(Internet Database Connector,IDC)

支持基本认证

支持SSL 1

 

IIS 2

Windows NT 4 Server 的一个组件

新的增强的Windows 95 式的GUI

IIS集成到Windows NT 安装程序

支持主机头名称

增强的日志特性

用于Internet数据查询(Internet Data Query,IDQ)

HTML 管理器

密钥管理器

索引服务器

 

IIS 3

199612

最大的意义:服务端WEB脚本引擎(ASP)

ActiveX组件技术

两种脚本语言(VBScriptJScript,实际上是NetscapeJavaScript)

ASP支持开放式数据库连接(ODBC)ActiveX数据对象(ADO)与数据库连接

Microsoft事务管理器(MTS)

Microsoft Visual InterDev

Microsoft FrontPage 97 Server Extensions

 

IIS 4

19983

Windows NT 4 Option Pack 3

Microsoft 事务服务器(MTS)2

Microsoft 消息队列服务器(MSMQ)1

索引服务器第2

Microsoft 证书服务器第1

IE 4.01(它最终帮助了微软赢得了与Netscape之间的浏览器战争)

个人WEB服务器(PWS)

Microsoft 管理控制台(MMC)1

SSL 3(128位加密)

配置数据库

确实可行的主机头(HTTP 1.1的支持)

SMTPNNTP的支持

 

IIS 5

Windows 2000的组件

名称的变化(Internet 信息服务)

名为“缓冲池进程”的新应用程序模型

Windows 2000 的目录服务集成

简化安装和管理IIS工作的新向导

支持WEB分布式创作和版本控制

 

IIS 5.1

IIS 5 的改进版

Windows XP Professional 桌面平台

 

IIS 结构-IIS 4之前

IIS 4 之前

整体式:所有的操作都基于进程内执行(in-processexecution)

     使用ISAPIC程序编写DLL,然后被加载到主要的IISWEB服务器进程(inetinfo.exe)并在这个进程中运行

ISAPI 是为IIS 1开发的,用来在Windows NT 中代替UNIX Web服务器的公共网关接口(CGI)

CGI使用一种进程外(out-of-process)执行模型

IIS 3 是一个名为asp.dllISAPI扩展实现的,并没有改变IIS的结构。

工作不正常的ASP应用程序可能会关闭整个服务器

提高了WEB应用程序的性能

降低了可靠性

 

【提示】进程外执行模型:每一次请求,CGI都是以独立的进程来处理请求再返回。也就是说,即使是同一个请求,也要重开一个CGI进程来处理,一点缓冲的感觉也没有,整个服务器内存侵蚀严重,造成资源紧张

 

IIS 结构-IIS 4

IIS 4是第一个在内部结构上发生重大变化的IIS版本

Web应用程序的运行方式

进程隔离(process isolation)

保留ISAPIASP的性能优点,同时提供CGI的稳定性

     IIS配置信息的存储方式

进程隔离模式的优点

崩溃的进程外应用程序对在服务器上运行的其他应用程序没有影响

进程外应用程序可以在不依赖于服务器上的其他应用程序的情况下停止和重新启动,不会影响其他应用程序,简化了IIS上的应用程序的维护工作

可以将进程外应用程序配置为在出现故障之后自动重新启动

进程隔离的缺点

进程外应用程序的运行速度可能比进程内应用程序慢很多

进程外应用程序不能使用内置的IIS管理对象来访问IIS配置数据库属性

     进程外应用程序占用比进程内应用程序更多的内存资源

进程外应用程序是由MTS的一个名为WEB应用程序管理器(Web Application Manager,WAM)的组件负责使用IIS应用程序能够在进程外运行。

 

IIS管理服务

IIS 4的一个基本组件

其他所有IIS服务的管理器

WWW服务/W3SVC

FTP

SMTP

NNTP

     维护配置数据库

      

IIS 结构-IIS 5

又一次更改了IIS的结构

IIS 4的进程外应用程序不能与在同一台计算机上的其他任何应用程序通信

IIS 5提供了三个不同级别的应用程序保护

低(IIS进程)与IIS的版本1~3最初的单一结构一样,作为WEB服务器进程(inetinfor.exe)的一部分在进程内运行

中(共用的)作为一个单独的缓冲池进程在inetinfo.exe进程外运行,也就是说,它作为名为dllhost.exe的新COM+宿主进程内部运行的几个应用程序之一

     高(独立的)在自己的隔离dllhost.exe进程中运行

IIS 结构-IIS 6

IIS 6IIS 5之间的区别

HTTP请求的处理已经从inetinfo.exe进程直接移动到了内核中,以便获得更高的性能

支持两种新的应用程序隔离模型:

“工作进程隔离模型”:全新的模型,它将用户开发的所有应用程序代码与核心IIS服务完全隔离

IIS 5“隔离模型”:为IIS 5设计的早期应用程序向后兼容

多个应用程序池的支持,可以单独配置每一个池

重新改造了WWW服务(W3SVC),包括了一个新的配置和进程管理部分,名为Web管理服务(WAS)

     其他增强的特性:处理器相似性、运行状况监视、Web园、请求式启动、空闲超时、快速故障保护、工作进程回收、XML配置数据库等

内核模式HTTP侦听程序(http.sys)

     以前版本的IIS的结构是围绕核心inetinfo.exe进程建立的

      

HTTP.SYS

内核模式HTTP侦听程序

设备驱动程序

Windows Server 2003TCP/IP网络子系统的一部分,从结构上说,它是TCP之上的一个网络驱动程序

侦听想要连接到IIS上运行的Web站点使用的IP地址和端口号的HTTP请求

不再属于IIS

主要用途是供IIS用来处理HTTP请求

还实现了其他几项功能:

在内核模式中缓存HTTP请求

管理TCP连接

实现连接限制和超时

管理带宽节流

处理WWW发布服务的基于文本的日志

HTTP.SYS的好处

提高了IIS性能

提高了IIS的可靠性

     提高了IIS的响应性

IIS管理服务

HTTP侦听和路由功能已经从IIS6的主要进程inetinfo.exe中删除

发生的变化是:现在处理IIS所执行的与Web无关的所有工作,换句话说IIS管理服务仍然处理FTP,SMTP,NNTP,但不处理HTTP

Web管理服务(WAS)

管理站点

IIS 6中,IIS管理服务不再与WWW服务直接相关,这一点的一个重要结果就是不再允许进程内Web应用程序

 

Web管理服务(WAS)

负责IIS 6上的Web站点的创建和操作,包含两个组件:

配置管理器

负责与配置数据库进行交互,从而在需要时存储或检索Web站点的配置信息

应用程序池管理器

负责管理与IIS应用程序池相关联的工作进程,这些工作包括启动、停止、重新启动和回收工作进程,并监视它们的运行状况,维护它们的配置以及和它们与内核模式队列相关联的http.sys进行交互的方式

HKLM/System/CurrentControlSet/Services/W3SVC选择它下面的Parameters键并打开名为ServiceDll的值%systemroot%/System32/inetsrv/iisw3adm.dll

 

IIS 6 应用程序模式

工作进程隔离模式

IIS 6的主要工作模式

IIS 5隔离模式

•保持与专门为IIS 5平台开发的应用程序的向后兼容性

IIS 结构-IIS 6之工作进程隔离模式

IIS 结构-IIS 6IIS 5 隔离模式

 

IIS 结构-IIS 6

IIS 6 应用程序隔离模式的对应进程比较

IIS特性

工作进程隔离模式

IIS 5隔离模式

HTTP

http.sys

http.sys

FTP

inetinfo.exe

inetinfo.exe

NNTP

inetinfo.exe

inetinfo.exe

SMTP

inetinfo.exe

inetinfo.exe

配置数据库

inetinfo.exe

inetinfo.exe

http.sys

配置WAS

WAS

工作进程

w3sp.exe

ISAPI筛选器

w3sp.exe

inetinfo.exe

进程内ISAPI扩展

w3sp.exe

inetinfo.exe

进程外ISAPI扩展

dllhost.exe

IIS 结构-IIS 6

IIS 6的其他特性

处理器相似性

Web园上非常有用。可以将Web园中的不同的工作进程(w3sp.exe)分配给不同的单独的CPU

大大提高性能、可用性和可靠性

IIS 6的其他特性

请求式启动

在接收到第一个对应用程序池中某个应用程序的HTTP请求时启动工作进程,以便处理该应用程序池

空闲超时

如果处理一个应用程序池的工作进程已经空闲了一段指定的时间,那么WAS可以自动关闭这个进程,从而节省计算机上宝贵的内存

回收

错误的代码导致内存泄漏或冲突,在以前的版本中,必须定期重新启动Web服务器来保持应用程序的正常运行,在IIS6中可以通过回收与池相关联的工作进程而不是手工重新启动服务器来完成

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值