Browse DevX
Sign up for e-mail newsletters from DevX


What's New In IIS 6.0? (Part 1 of 2) : Page 4

Windows Server 2003 ships with the latest version of Internet Information Server (IIS), version 6.0, redesigned to provide better reliability and more flexibility in configuring application environments. The new version includes improvements to the core functionality and services, administration, security, and performance.

Other New Features
Earlier versions of IIS (2.0 through 5.0) used a scripting host environment called Active Server Pages (ASP). IIS 6.0 uses ASP.NET language hosting instead. There are some significant advantages to the ASP.NET architecture compared to the older ASP architecture. Some of those advantages include:

  • ASP.NET is based on the Microsoft.NET framework. You could write ASP code in VBScript, JScript, or any other scripting language that ran in the Microsoft Scripting Runtime host environment. You can code ASP.NET in any language compatible with the common language runtime (CLR). Currently, Microsoft's CLR-compatible languages include Visual C#, VB.NET, Jscript.NET, and J#, but languages from many other vendors are either available or under development.
  • You can have code in more than one language in the same ASP.NET page. In other words, you can call a VB.NET function from a C# ASP.NET page.
  • ASP code is interpreted. The runtime engine compiles the code line by line at runtime, while ASP.NET code is completely compiled in advance—not line by line. ASP.NET compiled code runs significantly faster than ASP interpreted code.
  • ASP.NET gives you three levels of caching. You can cache complete pages, selected parts of the pages (called fragment caching), or by using the Caching API. Developers can use the Caching API to exert fine-grained control over caching behavior, and thus increase performance.
Unicode Transformation Format-8 (UTF-8)
Earlier versions of IIS could write log files only in English. This was a major issue for multi-lingual Web sites. IIS 6.0 enables multi-lingual support by supporting the UCS Transformation Format (UTF) 8 character codes. You can instruct HTTP.sys to log details in a specific language format. Therefore IIS can maintain multiple log files in multiple languages.UTF-8 support is available for both URLs and file names in IIS 6.0. Active Server Pages (ASP) also gains UTF-8 support. The Unicode code is converted into UTF-8 in this instance. Note that IIS 6.0 doesn't support this functionality for FTP sites. Some FTP sites may require you to enter login details—and those login details will not be in UTF—8 format.

XML Metabase
IIS stores configuration settings in a hierarchical database referred to as the Metabase. Earlier IIS version stored Metabase data in binary format earlier IIS versions, making it difficult to edit the entries, or even to read them. The IIS 6.0 Metabase, on the other hand, is in Extensible Markup Language (XML) format. XML files are plain text. You can use any text editor to change the XML entries—even while ISS 6.0 is running, a process called "edit while running." You do not need to restart IIS to reflect the changes unless you change the schema file—a separate XML file that controls the allowable content and order of the Metabase entries.

This design change has reduced the start-up and shutdown time of ISS considerably. Previously, IIS settings were stored in inetinfo.exe and in the system registry, which resulted in multiple reads from the registry and the necessity to load and access system resources at start-up time. Previous versions also needed to clear memory references at shutdown time. IIS 6.0 eliminates most of the overhead by storing all the settings in the XML Metabase.

The Metabase consists of the following two XML files:

  • Metabase.xml. An XML document that contains ISS configuration values for the server, such as Web site details, and virtual directory details.
  • MBSchema.xml. An XML document which holds the Metabase XML schema. The schema file acts as a validation tool to enforce correct Metabase values in the Metabase.xml file.
Both Metabase files are located in the Systemroot\System32\Inetsrv directory. You need administrator permission to view the contents of the Metabase entries. You can not edit the Metabase.xml file without admin access. You will not be able to edit the MBSchema.xml file directly even with Admin access. You make schema changes through the Active Directory Service Interface (ADSI). Editing a Metabase.xml file is a tedious task. A simple approach is to use the IIS Manager interface to make the changes. However editing the Metabase directly can save expert users some effort. It is possible to have simultaneous changes to the Metabase, for example, if one administrator changes the schema via ADSI and another administrator makes some changes to the Metabase.xml file. You can prevent this by using Access Control Lists (ACL) on the Metabase files to prevent XML file changes while schema changes are being made. The Metabase history feature stores a history of the Metabase.XML file changes. IIS uses this file to apply new Metabase changes if the configuration is lost. You can build up the Metabase with the help of the history and the backups of the Metabase..

You can back up the Metabase using the Backup/ Restore Configuration option on the All Tasks menu item by performing the following steps:

  1. Click Start | Programs | Admin Tools | Internet Information Services (IIS) Manager
  2. Right Click the server name in the left console pane
  3. Select All Tasks from the context menu
  4. Select Backup/ Restore Configuration
  5. Click the Create Backup button
  6. Type a name for the configuration backup
  7. Select whether to encrypt the backup with a password by checking or unchecking the Encrypt backup password option. If you elect to use a password, enter and confirm the password
  8. Your new backup will appear in the list of backups. Restoring IIS from a backup is done through the same interface. (When you select an existing backup from the list, the "Restore" button will be enabled on the interface.) Select the backup and click the Restore button if you wish to restore the backup
If the computer running IIS fails, you can restore the Metabase from this backup copy. You can also use the backup to create a duplicate setup on a new installation of Windows Server 2003 or even on a different computer (if you use secure backup). It's possible to restore the Metabase using a copy of the Metabase files saved in the history folder; however, you can't restore a backup from an earlier version of IIS, and if you restore from the history files, you can't restore to a different IIS installation or to a different computer.

IIS automatically makes regular backups of the Metabase in addition to any manual backups made by administrators. It also creates history files automatically, as long as the history feature is enabled (by default, it is). You can use the IIS Manager to restore history files, as well as restoring from backup.

Chris Peiris works as a Systems Architect for Department of Employment and Workplace Relations in Canberra, Australia. He also lectures on Distributed Component Architectures (.NET, J2EE & CORBA) at Monash University, Caulfield campus, Victoria, Australia. He is a .NET MVP who has been designing and developing Microsoft solutions since 1995. His expertise lies in developing scalable, high-performance solutions for financial institutions, G2G, B2B and media groups. He has written many articles, reviews and columns for various online publications, and technical books for Wrox and Syngress, and is currently working on the book Study Guide for Windows 2003 Server." Chris' core skills are C++, Java, .NET, DNA, MTS, Site Server, Data Warehousing, WAP, and SQL Server. Chris is currently working on a Ph.D. in Web Services Management. He can be reached at http://www.chrispeiris.com.
Thanks for your registration, follow us on our social networks to keep up-to-date