gpt4 book ai didi

.net - iis如何识别Web应用程序?

转载 作者:行者123 更新时间:2023-12-01 08:41:04 26 4
gpt4 key购买 nike

我在面试中被问到这些问题...

1.iis如何识别我们正在请求的网络应用程序?

2.iis如何识别Web应用程序是在哪种语言?

谁能详细解释一下...

最佳答案

我不会涵盖什么是 Web 应用程序,因为这不是你的问题,所以在整个答案中,我将使用术语 Web 应用程序虚拟目录 可以互换。如果您想了解更多关于 IIS 上的 Web 应用程序的信息,那么这篇来自 IIS 上的官方 MS 站点的文章: Understanding Sites, Applications, and Virtual Directories on IIS 7 会有所帮助。虽然标题确实提到了 IIS7,但它也深入研究了 IIS6。


我们请求什么网络应用程序

为简单起见,您向服务器发出的请求中包含虚拟目录,或者 IIS 已经配置为将请求映射到特定的虚拟目录。如果您请求的 URL 如下所示:

http://someServer/myWebSite/default.aspx

然后该 url 的 myWebSite 部分是虚拟目录,IIS 知道如何处理它,因为它直接映射到文件系统上的文件夹。但就像我说的那样,这只是一种简单化的方法,您可能正在使用这种方法在您的开发机器或公司内部网上访问您自己的 Web 应用程序。还有另一种方法可以从 url 中找到虚拟目录 - 使用 host headers。当您通过 Internet 向(基于 IIS 的)网站发出请求时,它很可能托管在与数十个甚至数百个其他网站相同的 Web 服务器上。在这种情况下,主机头绑定(bind)用于将请求映射到特定的网站/Web 应用程序。您可以在本文中阅读有关主机 header 工作的信息: HOWTO: IIS 6 Request Processing Basics, Part 2 - Web Site, Virtual Directory, and Web Application


Web 应用程序语言

页面的语言在页面本身中指定(在 aspx 或 ascx 文件中)。每当应用程序池工作进程第一次启动或回收(重新启动)web pages are recompiled , 页面或控件中指定的语言用作使用哪个编译器的指南。然后将编译后的代码保存在临时存储中,直到文件被更改并且需要重新编译或工作进程被再次回收。

如果它是预编译的,那么不需要知道页面语言,因为它已经被编译成一种称为 MSIL(Microsoft 中间语言,或更准确地说是 CIL, Common Intermediate Language)的中间语言,然后此代码会被 JIT 编译为 native 执行前的代码。 (JIT 编译:simple explanationwiki explanationslightly more hardcore explanation)。

如果 Web 应用程序已经过 ngen 编译,那么它已经是本地机器语言,因此根本不需要编译。

关于.net - iis如何识别Web应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3138300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com