Sunday, October 25, 2009

Internet Information Service (IIS) 7.0

IIS 7

Internet Information Services (IIS) It is a set of Internet-based services for servers created by Microsoft for use with Microsoft Windows. It is the world’s second most popular web server . As of April 2009 it served 29.27% of all websites according to Netcraft. The services provided currentlyinclude FTP, FTPS, SMTP, NNTP, and HTTP/HTTPS.

HISTORY

The first Microsoft webserver was a research project by the European Microsoft Windows NT Academic Centre (EMWAC), part of the University of Edinburgh in Scotland, and was distributed as freeware. However since the EMWAC server was unable to scale sufficiently to handle the volume of traffic going to microsoft.com, Microsoft was forced to develop its own webserver, IIS.

  • IIS was initially released as an additional set of Internet based services for Windows NT 3.51. IIS 2.0 followed, adding support for the Windows NT 4.0 operating system; and IIS 3.0 introduced the Active Server Pages dynamic scripting environment.
  • IIS 4.0 dropped support for the Gopher protocol and was bundled with Windows NT as a separate “Option Pack”

The current shipping version of IIS is 7.0 for Windows Vista and Windows Server 2008, 6.0 for Windows Server 2003 and Windows XP Professional x64 Edition, and IIS 5.1 for Windows XP Professional. Windows XP has a restricted version of IIS 5.1 that supports only 10 simultaneous connections and a single web site.IIS 6.0 added support for IPv6. A FastCGI module is also available for IIS5.1, IIS6 and IIS7.

IIS 7.0 is not installed by Windows Vista by default but it can be selected from the list of optional components. It is available in all editions of Windows Vista including Home Basic. IIS 7 on Vista does not limit the number of allowed connections as IIS on XP did but limits concurrent requests to 10 (Windows Vista Ultimate, Business, and Enterprise Editions) or 3 (Vista Home Premium). Additional requests are queued which hampers performance but they are not rejected as with XP which resulted in the ’server too busy’ error message
Some of the most exciting new scenarios

Shared Configuration

This new scenario allows for IIS7’s new global configuration file to be ’shared’ across multiple servers! Once deployed, the IIS7 tools, including the new “IIS Manager” admin tool, our cmdline tool – appcmd.exe, as well as our scripting APIs and the new Microsoft.Web.Administration all work against the shared configuration file allowing centralized management of a farm of servers! Read more about how to use this feature in the Shared Configuration Walkthrough.

Automatic Application Pool Isolation

IIS6 introduced ApplicationPools, but never made them very friendly to setup and use. With IIS7, we’re making it automatic. By default, when you create a new site in the IIS manager tool, we’ll automatically create a new Application Pool with the same name. In addition, we’ll inject a unique SID which resolves to that AppPool name into the NetworkService token (our default AppPool identity) and create a special AppPool.config file for the worker processes to use, and ACL it to only allow that AppPool SID to access it. This means that by default the Application Pool is isolated from all other Application Pools on the server from a configuration and from a runtime identity perspective! Sandboxing sites and applications is now as easy as ACLing the content to a unique set of users you want to provide access to (including anonymous user).

Delegated, Remote Administration

IIS7 in Longhorn Server Beta 3 offers remote administration capability, all over HTTP/SSL! In addition, Server Administrators can delegate administration to “site administrators” who can then use the exact same IIS Manager tool to remotely manage just their site! To make the IIS Manager tool broadly available, we’ve uploaded a beta release of “Remote Manager”, a updated version of the tool for Windows XP, Windows 2003 and Windows Vista clients to use to remotely manage IIS7! Download Remote Manager today! You can also learn more about how to setup remote administration, and delegated management, in the IIS7 walkthroughs.

Built-in FastCGI support for PHP and other dynamic languages….

We announced our efforts to improve PHP reliability and performance back in October, and shipped Tech Preview 1 and 2 of the FastCGI module for IIS5,6, and 7. Today I’m excited to announce that FastCGI support is now built-in to Longhorn Server, and it will be incorporated into Vista SP1 as well. FastCGI is now installed as part of the “CGI” setup component which allows for both traditional CGI applications, as well as FastCGI applications to run. This is going to make it super easy to get blazing fast performance with PHP on Windows, without a lot of trouble.

Modern FTP Publishing!

And if all this goodness with the Web server isn’t enough, I’m really excited to announce the first beta of our new FTP server. This isn’t a part of Longhorn Server Beta 3, but it is available today and offers a lot of brand new features for you to experience today. The new IIS7 FTP server includes secure publishing with FTP/SSL support, integrated web publishing with support for the IIS7 configuration system and administration tool – making it really easy to setup FTP publishing points for a web application, integrated authentication (so that delegated administrators can use their same credentials to publish to IIS7 web sites), host header FTP support, and more! This FTP server is really amazing, and I’ll be covering more of it in a future blog post.
There are many more welcome surprises in store for you with Beta 3. Here are a few samplers:
  • IIS7 UI is now feature-complete, and includes support for logging, caching, compression, and more. The new UI also includes a welcome page with shortcuts to recent connections, and displays the latest news about IIS.
  • The AhAdmin configuration API now supports remote administration over DCOM, and the Microsoft.Web.Administration API also provides transparent access to remote servers.
  • IIS7 provides Output Caching support for dynamic content, integrated with http.sys, which allows for blazing fast performance. See this example of how I used Output Caching to get incredible performance of a PHP application on Windows
IIS7 provides simple, declarative URL authorization support for protecting Web content through configuration declarations, rather than file system ACL.

No comments:

Post a Comment