35+个最常问的IIS面试题及答案

2025年3月17日 | 阅读 12 分钟

1) ASP.NET 中的 IIS 是什么?

IIS 是 **Internet Information Server** 的缩写。它是微软开发的最流行的 Web 服务器之一,用于托管和提供基于 Internet 的服务给 ASP.NET 和 ASP Web 应用程序。

IIS 主要用于响应用户的请求。当用户向服务器发送请求时,IIS 接收该用户请求,进行处理,然后将响应发送回用户。IIS 包含自己的 ASP.NET 进程引擎来处理 ASP.NET 请求。我们可以根据应用程序运行的 IIS 版本来配置 ASP.NET 应用程序。

IIS 是全球使用最广泛的 HTTP 服务器,运行在 Windows 上。


2) Internet Information Server 最重要的特性是什么?

以下是 Internet Information Server 最重要特性的列表:

  • IIS 或 Internet Information Server 包含用于构建和管理 Web 应用程序和搜索引擎的程序。
  • 它支持编写访问 SQL Server 等数据库的 Web 应用程序。
  • 它还方便开发人员将他们的计算机用作 Web 服务器,并提供在服务器上开发和部署 ASP.NET Web 应用程序的功能。
  • 使用 IIS,我们还可以为特定网站设置安全,以保护特定用户和计算机免受未经授权的访问。
  • IIS 提供了一个重新设计的 WWW 架构,使用户能够为网站实现更好的性能、可靠性、可伸缩性和安全性。
  • IIS 可以通过降低系统管理成本和部署成本来提高组织网站和应用程序的可用性。
  • IIS 的后期版本,如 IIS 7.5,支持 HTTP、HTTPS、FTP、FTPS、SMTP 和 NNTP。

3) 在 IIS 上托管网站的流程是什么?

有两种方法可以在 IIS 上托管网站:

  • 通过使用文件夹 Web 共享。
  • 通过创建虚拟目录。

4) IIS 的关键功能是什么?

Visual Studio 应用程序包含自己的 ASP.NET 引擎,可以轻松运行 ASP.NET Web 应用程序。我们只需单击“运行”按钮即可启动应用程序。但这仅限于本地环境。如果我们将其托管在所有用户都可以访问的 Web 服务器上,那么就需要 IIS。

IIS 拥有重新设计的 WWW 架构,为我们的网站提供了更好的性能、可靠性、可伸缩性和安全性。IIS 可以支持以下协议:HTTP/HTTPS、FTP、FTPS、SMTP 等。托管在 IIS 上的网站会收到来自客户端的请求。当客户端发送请求时,它首先会到达 IIS 服务器,然后服务器将其传递给 ASP.NET 工作进程来执行请求。之后,响应通过 IIS 本身传递给客户端。


5) IIS 支持的最重要的协议有哪些?

IIS 支持的最重要的协议是 HTTP、HTTPS、FTP、FTPS、SMTP、NNTP 等。


6) 你对 IIS 中的内核模式和用户模式有什么理解?

内核模式和用户模式是 IIS 体系结构的两个主要层。


7) IIS 8.5 中新增了哪些新功能?

IIS 8.5 中新增的两个新功能是增强的日志记录功能和动态站点激活。


8) 你对 IIS 中的虚拟目录有什么理解?

在 IIS 中,虚拟目录是映射到本地服务器上物理目录的目录名称。


9) 不同操作系统中有哪些不同的 IIS 版本?

IIS 是全球使用最广泛的 HTTP 服务器,运行在 Windows 上。以下是不同 Windows 操作系统中不同 IIS 版本的列表:

  • Windows Server 2008、Windows Vista:Home Premium/Ultimate 运行 IIS 7.0
  • Windows Server 2003 运行 IIS 6.0
  • Windows XP Professional 运行 IIS 5.1

10) IIS 中应用程序池的用途是什么?

使用 IIS 应用程序池的主要目的是将应用程序彼此分开并简化管理。应用程序池定义了一组工作进程的设置,这些工作进程维护池中所有应用程序的请求处理。


11) SVCHost.exe 的两个主要组件是什么?

SVCHost.exe 的两个主要组件是 WWW 发布服务 (W3SVC) 和 Windows 激活进程 (WAP)。


12) IIS 中的 Web 场是什么?它的优点是什么?

在 IIS 中,Web 场是通过使用负载均衡器在多个 Web 服务器上托管 Web 应用程序的过程。它是一组两个或多个 Web 服务器/节点,它们托管应用程序的多个实例。它提供了一种负载均衡方法,可以避免单个服务器上的高负载,并将流量分发到同一 Web 应用程序的不同服务器。当用户向 Web 场发送请求时,负载均衡器会将请求分发到 Web 场的节点,以防止单个服务器上的高负载。

Top 35+ Most Asked IIS Interview Questions and Answers

Web 场提供以下优点:

  • 可用性与可靠性:Web 场是一组两个或多个托管应用程序多个实例的节点。当一个或多个节点发生故障时,负载均衡器可以将用户的请求路由到其他正常运行的节点以继续请求处理。这就是它提供出色可用性和可靠性的方式。
  • 高性能:在 Web 场中,有多个节点可以处理比单个服务器更多的请求。负载均衡器通过分发请求到节点来平衡工作负载。它提供高性能。
  • 可伸缩性:它可以根据所需工作负载容量增加或减少活动节点的数量。有几种 Web 场平台技术,例如 Azure App Service,可以根据系统管理员的请求自动添加或删除节点,或者在没有人为干预的情况下自动进行。
  • 可维护性:它使系统管理变得容易,因为 Web 场的节点可以依赖于共享服务。例如,Web 场的节点可以依赖于单个数据库服务器和用于静态资源的公共网络位置。

13) 安装和配置 IIS Web 场需要哪些步骤?

我们应该遵循以下步骤来安装和配置 IIS Web 场:

  • 首先,我们必须安装 IIS Web 场基础结构。
  • 之后,配置 IIS Web 场服务器。
  • 第三步,我们必须配置 IIS Web 场负载均衡。
  • 配置 IIS Web 场负载均衡后,我们必须配置 SSL 证书中心存储。
  • 最后一步,配置应用程序部署。

14) 你对 IIS 中的 Web 园有什么理解?

Top 35+ Most Asked IIS Interview Questions and Answers

Web 园是一种配置,其中 IIS 应用程序池设置为在单个服务器上的多个工作进程中运行。应用程序池可以配置为 IIS 中托管的多个网站。当我们实现 Web 园时,它会将网站的处理分配给多个工作进程。


15) 使用 IIS 中的 Web 园有什么优点?

以下是使用 IIS Web 园的关键优势列表:

  • Web 园为非 CPU 密集型应用程序提供服务。
  • 它为进行长时间数据库请求的应用程序提供服务,例如高计算量的数据库事务。
  • 通过增加“最大工作进程”属性值,它每 CPU 提供更多的并发同步操作。
  • 它通过在多个工作进程之间共享请求来提供出色的应用程序可用性。
  • 它使用处理器亲和性,其中应用程序可以根据其偏好和标签设置被换出。
  • 它在配置时占用的物理空间非常少。

16) Web 场和 Web 园在 IIS 中有什么主要区别?

Web 场是一个 Web 托管系统,它包含多个 Web 服务器供多个客户端使用。它主要用于防止流量拥塞并为所有客户端提供流畅的资源可用性。因此,我们可以说 Web 场用于在多个 Web 服务器上托管单个 Web 应用程序以在它们之间分发负载。另一方面,Web 园是一种托管 Web 系统,其中在指定工作进程数量时配置了应用程序池。它主要用于在单个 Web 服务器上托管多个进程。让我们在下表中看看 Web 场和 Web 园之间的主要区别:

Web 场Web 园
Web 场提供了跨多个服务器运行的能力。Web 园有一个服务器,我们可以在其上运行多个进程。
它用于为 Web 应用程序提供物理可伸缩性。它用于为 Web 应用程序提供逻辑可伸缩性。
它包含多台计算机以运行多个进程。它包含多个进程以在单个服务器上运行。
它被认为是首选,因为它提高了性能。它被认为是首选,因为它需要更少的物理空间。
它使用负载均衡器将多个 Web 服务器分组。它需要 Machine.Config 文件来将多个 Web 服务器分组。
与 Web 园相比,它提供了更高的可用性。与 Web 场相比,它提供了更好的应用程序可用性。
我们可以通过使用带有虚拟 IP 的负载均衡器来实现。我们可以通过为单个应用程序池启用多个工作进程来实现。

17) IIS 中的 DefaultAppPool 是什么?

DefaultAppPool 是在我们的计算机上安装 Internet Information Service 时创建的文件夹。它不是病毒或恶意软件。它是 IIS 中默认应用程序池的名称。Internet Information Service 或 IIS 是 Windows 附带的 Web 服务器软件。默认情况下不安装它。


18) 删除 IIS AppPool DefaultAppPool 是否安全?

当我们在计算机上安装 IIS 服务时,它会自动创建 DefaultAppPool。它不是恶意软件或病毒,因此我们无需删除它。删除此文件夹是不安全的,因为 IIS 在其不存在时可能无法正常工作。我们应该就这样放着,不要使用它。我们还应确保没有任何东西在使用它。


19) IIS 中的应用程序池是什么?

在 IIS 中,应用程序池指定一组具有共同设置的工作进程,这些工作进程为分配给该应用程序池的一个或多个应用程序提供服务。应用程序池主要用于分离共享相同配置和应用程序边界的 IIS 工作进程集。这样做是为了实现更好的安全性、可靠性、可伸缩性、可用性和性能,并保持运行而不相互影响。工作进程充当分隔每个应用程序池的进程边界。当一个工作进程或一个应用程序遇到任何问题或回收时,其他应用程序或工作进程不会受到影响。单个应用程序池可以有多个工作进程。


20) IIS 中的日志文件是什么?/ 你对 IIS 日志有什么理解?

日志文件或 IIS 日志记录来自 Internet Information Services、网页和应用程序的数据。虽然 IIS 本身确保了 Web 资源的可伸缩性和灵活性,但日志文件用于记录服务器上的不同操作以及关于网站的特定统计信息,例如日期、时间、用户数据、网站访问量、IP、查询和传输数据量。


21) IIS 7.5 中引入了哪些附加或增强的安全功能?

以下是 IIS 7.5 中引入的关键附加或增强安全功能的列表:

  • IP 安全
  • URL 授权
  • 客户端证书映射
  • 请求筛选等。

22) 应用程序池的默认标识是什么?

应用程序池的默认标识是 Network Services。


23) IIS 7.0 模块化体系结构中有哪些不同的模块?

IIS 7.0 模块化体系结构具有以下模块:

  • 内容模块
  • 压缩模块
  • 缓存模块
  • 安全模块
  • 日志记录和诊断模块等。

24) 你对应用程序池的标识有什么理解?

当我们自己或在云端运行我们的网站时,我们必须将安全功能作为首要任务。IIS 以应用程序池标识的名义提供了此安全功能。应用程序池标识是 IIS 的一项安全功能。微软在 Windows Server 2008 和 Windows Vista 的 Service Pack 2 (SP2) 中引入了此功能。应用程序池标识使我们能够在唯一的帐户下运行应用程序池,而无需创建和管理域或本地帐户。


25) IIS 中的 ISAPI 和 ISAPI 扩展是什么?

ISAPI 是由 Microsoft Inc. 推出的一项开放且更快的规范。与 CGI 相比,它在扩展 IIS 方面更快、更灵活。它是一个强大的应用程序,因为 ASP 页面是通过称为 ASP.dll 的 ISAPI 扩展进行处理的。ISAPI 扩展是在 IIS 上运行并可以访问 IIS 提供的所有功能的应用程序。客户端可以像访问静态 HTML 文件或动态 ASP 文件一样访问 ISAPI 扩展。

我们可以使用 ISAPI 开发两种类型的应用程序,即扩展和过滤器。当被请求时,ISAPI 扩展的运行方式与任何其他静态 HTML 文件或动态 ASP 文件相同。


26) 如何在 IIS 中启用 ISAPI?

我们可以通过遵循以下步骤在 IIS 中启用 ISAPI:

  • 首先,转到“Web 服务器 (IIS)”窗格。
  • 之后,滚动到“角色服务”部分,然后单击“添加角色服务”。
  • 进入“添加角色服务”向导的“选择角色服务”页面后,选择“ISAPI 筛选器”并单击“下一步”。
  • 现在,您将转到“确认安装选择”页面。
  • 单击“安装”,ISAPI 将被启用。
  • 现在,您将被重定向到“结果”页面。
  • 单击“关闭”。

27) IIS 中匿名登录的默认用户名是什么?

IIS 中匿名登录的默认用户名是“IUSR_MachineName”。


28) 为什么我们在 IIS 中使用应用程序池回收?

应用程序池回收用于 IIS 中,以释放应用程序池中应用程序占用的内存。


29) 为什么我们需要远程调试 IIS?

以下是我们为什么需要远程调试 IIS 的原因:

  • 如果我们没有在开发服务器上安装 IIS。
  • 如果开发服务器与构建/发布/托管服务器不同。
  • 如果我们有多个用户并且他们想同时调试。

30) 哪个工具用于远程调试 IIS?

我们可以使用名为 **mavsmon.exe** 的进程工具来远程调试 IIS。它最初是为 MS Visual Studio 2005 引入的。该工具的位置是:安装路径\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86。


31) IIS 中有哪些不同的安全设置可用?

以下是 IIS 中最常见的不同安全设置列表:

  • Basic Authentication
  • 摘要身份验证
  • Passport 身份验证
  • 集成 Windows 身份验证
  • 匿名

32) IIS 中 ISAPI 筛选器的主要功能是什么?

在 IIS 中,ISAPI 筛选器主要用于修改和增强 IIS 的功能。它们还用于筛选请求以找到需要处理的请求,进行身份验证,以及应用输入或输出数据加密。


33) 启用应用程序池的 ping 属性在 IIS 中有什么用?

IIS 需要定期监控工作进程的运行状况。它会检查工作进程是否空闲,所有工作进程是否正常运行,以及是否是回收的时间。通过启用 ping 属性,激活进程会监控工作进程的性能、运行状况、空闲时间等。默认情况下,它设置为 30 秒。


34) 协议侦听器在 IIS 中扮演什么角色?

在 IIS 中,协议侦听器主要用于执行以下操作:

  • 它用于接收来自客户端的协议特定请求。
  • 它将请求发送给客户端进行处理。
  • 它还将响应发送回请求者。

35) HTTP.SYS 在 IIS 中的功能是什么?

HTTP.SYS 是一个协议侦听器,主要用于接收客户端请求,将它们发送给 IIS 进行处理,并最终将客户端的响应发送回。HTTP.SYS 是内核模式的一个子部分,是接收和处理 HTTP 请求并将它们传递给工作进程的核心组件。


36) SVCHost.exe 的主要组件是什么?

SVCHost.exe 的主要组件如下:

  • WWW 发布服务 (W3SVC):它是 HTTP.SYS 的中介。
  • Windows 激活进程 (WAP):Windows 激活进程或 WAP 用于维护工作进程。

37) IIS 元数据库在 IIS 中扮演什么角色?

IIS 元数据库主要用于维护 IIS 中的设置和配置数据。


38) 用户模式在 IIS 中有哪些不同的子部分?

在 IIS 中,用户模式的不同子部分是 Web 管理服务、虚拟目录和应用程序池。