Loading AI tools
微软的網絡服務器软件,包含在最新版本的微軟視窗 来自维基百科,自由的百科全书
互联网信息服务(英語: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版本 | Windows版本 | 备注 |
---|---|---|
IIS 1.0 | Windows NT 3.51 Service Pack 3 | |
IIS 2.0 | Windows NT 4.0 | |
IIS 3.0 | Windows NT 4.0 Service Pack 3 |
|
IIS 4.0 | Windows NT 4.0 Option Pack |
|
IIS 5.0 | Windows 2000 |
|
IIS 5.1 | Windows XP Professional | |
IIS 6.0 | Windows Server 2003 Windows XP Professional x64 Edition |
|
IIS 7.0[2] | Windows Vista Windows Server 2008 |
|
IIS 7.5 | Windows 7 Windows Server 2008 R2 |
|
IIS 8.0 | Windows 8 Windows Server 2012 |
|
IIS 8.5 | Windows 8.1 Windows Server 2012 R2 |
|
IIS 10 | Windows 10 Windows Server 2016 |
详见此处。[3] |
IIS即为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 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 7伺服器通过运行于核心态的组件Http.sys(HTTP 协议堆栈)来接受客户的http请求。再通过Process(Web Process Activation service,WAS)与WWW Publishing Service(W3SVC)两个用户态的系统服务来查询、调度对应的应用程式池(Application Pool)开启W3WP.exe工作者进程。
W3WP.exe工作者进程中可选择经典模式或集成模式来执行ASP.NET应用。
IIS 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:
增加一个site:
"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]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.