什么是IIS Web服务器?IIS Web服务器在Windows操作系统的Microsoft .NET平台上运行。虽然可以使用Mono在Linux和Mac上运行IIS,但不推荐这样做并且可能会不稳定。IIS Web服务器用途广泛,性能稳定,多年来在生产中得到广泛应用,版本10是最新的。 但在我们深入了解IIS的本质之前,让我们先从一般意义上的Web服务器定义开始。 一、什么是网络服务器? 没有网络服务器,互联网就不可能存在。Web服务器是用于托管Web 应用程序的进程。Web服务器允许应用程序处理通过特定TCP端口到达的消息(默认情况下)。例如,HTTP流量的默认端口是80,HTTPS 的默认端口是443。 当我们在浏览器中访问网站时,通常不会指定端口号,除非Web服务器配置为在默认端口以外的端口上接收流量。访问https://www.hengxun.cn会将我们的请求隐式发送到端口80。如果我们想要https://www.hengxun.cn:80和https://www.hengxun.cn:443 对于TLS(传输层安全),可以指定端口号。 假设为我们的Web应用程序配置了默认配置和TLS,Web服务器将接收到端口80和443的所有入站流量。 二、IIS如何处理Web请求? Web服务器的两个主要进程模型是在单个线程上处理所有请求,或者为每个请求生成一个新线程。尽管单线程模型(例如Node.js)有一些工作线程可用,但它通常只将它们用于某些类型的工作,例如文件系统访问。IIS(及其轻量级同类IIS Express)使用的每个请求线程模型将为每个请求从线程池中获取一个线程。 Web服务器通常使用请求--响应模式处理请求。如果一切顺利,客户端发送请求并接收响应。当通过Internet在客户端和Web服务器之间进行通信时,HTTP协议是无处不在的选择。 三、IIS Web服务器的特征 1、IIS具有丰富的功能。最常见的是,IIS用于托管ASP.NET Web应用程序和静态网站。它还可以用作FTP服务器,托管WCF服务,并扩展为托管在其他平台(如PHP)上构建的Web应用程序。 2、有内置的身份验证选项,例如Basic、ASP.NET和Windows身份验证。如果我们有Windows Active Directory环境,后者很有用——用户可以使用他们的域帐户自动登录到Web应用程序。其他内置安全功能包括用于在我们的站点上启用HTTPS和SFTP的TLS证书管理和绑定、白名单或黑名单流量的请求过滤、授权规则、请求日志记录以及一组丰富的FTP特定安全选项。 3、IIS的一项关键功能是应用程序池。我们必须仔细研究应用程序池,因为它是IIS进程模型的关键组件。 4、一个非常宝贵的功能是远程管理,IIS也可以通过CLI或使用 PowerShell进行管理。 到这里,我们应该对IIS的可配置性和通用性有了良好的印象了吧。除了托管ASP.NET应用程序之外,它还可以扩展以服务于许多用途。通过扩展,IIS成为Windows平台上通用性强且稳定的Web服务器。