網際網路資訊服務
互联网信息服务(英語:Internet Information Services),在台湾被称为网际网路资讯服务,是由微軟公司提供的基於運行Microsoft Windows的網際網路基本服務。最初是Windows NT的可選包,隨後成為Windows 2000、Windows XP Professional和Windows Server 2003的可選元件,但在Windows XP/Vista/7/8/10 家用版本上並沒有IIS。 IIS包括FTP/FTPS、NNTP、和HTTP/HTTPS、SMTP等服務。 IIS可設定的內容包括:虛擬目錄及存取權限、預設文件名稱、以及是否允許瀏覽目錄。 各種版本
IIS 5IIS即为InetInfo.exe进程。aspx页面映射到该进程的aspnet ISAPI.DLL上。对aspx页面,aspnet ISAPI.DLL创建aspnet_wp.exe工作者进程(Worker Process)。IIS进程与工作者进程之间的通信,采用命名管道。 工作者进程初始化时加载CLR。一台服务器只运行一个aspnet_wp.exe工作者进程进程。每个ASP.NET应用程序在工作者进程中有自己单独的AppDomain。AppDomain有自己单独的context,实现了安全隔离。 IIS 6IIS 6服务器通过运行于核心态的协议侦听器组件Http.sys来接受客户的http请求。然后查看该请求的Application属于哪个应用池,把请求发到相应的应用池的队列中。 如果该应用池不存在,则创建它。应用池通过工作进程隔离来分割ASP.NET应用程序,防止彼此间的干扰。 每个应用池对应一个运行在用户态下的w3wp.exe工作者进程。在IIS Metabase 中维护着 Application Pool 和worker process的Mapping。工作者进程初始化时,加载ASP.NET ISAPI DLL,该DLL加载CLR。WAS(Web Administrative service)负责调度工作者进程将执行应用池队列中哪个http请求。 IIS 7IIS 7服务器通过运行于核心态的组件Http.sys(HTTP 协议堆栈)来接受客户的http请求。再通过Process(Web Process Activation service,WAS)与WWW Publishing Service(W3SVC)两个用户态的系统服务来查询、调度对应的应用程序池(Application Pool)开启W3WP.exe工作者进程。 W3WP.exe工作者进程中可选择经典模式或集成模式来执行ASP.NET应用。
IIS ExpressIIS Express是IIS的輕量化版本,能夠被安裝在Windows XP Service Pack 3與之後版本的Microsoft Windows。IIS 7.5 Express只支援HTTP或HTTPS[4]。 IIS Express可以單獨下載安裝[5]或是為Microsoft WebMatrix安裝的一部分[6]。另外,Visual Studio 在编写网页 / 网站并测试运行时也使用 IIS Express 提供虚拟站点服务,避免直接打开本地网页时页面上的 JavaScript 由于安全设置而被屏蔽。 在命令行使用IIS Express: "C:\Program Files\IIS Express\appcmd.exe" add site /name:MyNewSite1 /bindings:"http://localhost:58128" /physicalPath:"D:\MyPrograms\WebApplication1\WebApplication1" 查看site列表: "C:\Program Files\IIS Express\appcmd.exe" list site 启动site: "C:\Program Files\IIS Express\iisexpress.exe" /siteid:3 或者 "C:\Program Files\IIS Express\iisexpress.exe" /site:<站点名> 启动一个临时网站: "C:\Program Files\IIS Express\iisexpress.exe" /path:"G:\01code\04MVC\01bamin\Code\BaminSolution\BM.Admin" /port:8899 /clr:v4.0 /systray:true IIS Express 默认只支持本地连接,不能用ip去访问。开启/关闭外部连接: netsh http add urlacl url=http://* :{端口号}/ user=everyone netsh http delete urlacl url=http://* :{端口号}/ IIS Express配置文件默认位于“我的文档\IIS Express\Config\”。其中,applicationhost.config是核心配置文件,包含了site的定义、应用程序和应用程序池以及整个WEB服务器的配置。 兼容性IIS是在Windows操作系统平台下開發的,這也限制了它只能在這種操作系统下運行。在Windows XP Professional中IIS的一些功能做出了限制,以與Windows Server 2003有所區隔。 安全性IIS的發展伴隨著安全漏洞;而隨著IIS 6.0的發佈,這種情況有所好轉。在低於6.0的版本中,其使用者權限是系統用戶;而在IIS 6.0中,引入了網絡服務帳戶,這是一個限制用戶。這樣,即使服務遭到了破壞,也不會造成系統的癱瘓。 擴充性
Extension[15]
参考文献
外部連結
參見Information related to 網際網路資訊服務 |