An IIS (Internet Information Server) application is a Visual Basic application that lives on a Web server and responds to requests from the browser. An IIS application uses HTML to present its user interface and uses compiled Visual Basic code to process requests and respond to events in the browser.
To the user, an IIS application appears to be made up of a series of HTML pages. To the developer, an IIS application is made up of a special type of object called a webclass, that in turn contains a series of resources called webitems. The webclass acts as the central functional unit of the application, processing data from the browser and sending information to the users. You define a series of procedures that determine how the webclass responds to these requests. The webitems are the HTML pages and other data the webclass can send to the browser in response to a request.
IIS vs Apache
|Supported OS||Windows||Linux, Unix, Mac Os, Windows|
|User Support and Fixes||Corporate Support||Community Support|
|Cost||Free, but bundled with Windows||Free|
|Development||Closed, Proprietary||Open Source|
What’s New in IIS 10?
With Windows 10, IIS Team is releasing a new and simplified IISAdministration module side by side with the existing WebAdministration Cmdlets. There are many reasons behind the decision to release an entirely new PowerShell Cmdlet module and here are a few of them:
- IISAdministration will scale better in scripts that take a long time to run with WebAdministration.
- You can now get a direct reference to an instance of Microsoft.Web.Administration.ServerManager object and do anything that you can do in Microsoft.Web.Administration namespace alongside your scripts.
- PowerShell pipeline compatibility was the driving force behind the design of many cmdlets. As such, IISAdministration works much better with PowerShell Pipeline.
The version of the Cmdlets they are releasing in Windows 10 is a rough version with room for improvement. Their targeted release is for Windows Server 2016 for the finished and polished product. The reason they release this now is to get feedback from real PowerShell users and IIS Administrators in the industry, answer any questions and receive suggestions about not only the existing functionality but also potentially for new functionality their users would want from IIS Administration as it pertains to PowerShell.
New Features in IIS 10
Support for HTTP/2
In Server 2016 TP2 and current builds of Windows 10, HTTP/2 is enabled by default, no need to set the DuoEnabled value in the registry, no need for a reboot.
Wildcard Host Header Support
This is a very useful feature that allows you to create a Web Site with a host header value of “*.<domain>”, meaning that you don’t have to create separate bindings for each subdomain you need to bind to the same Web Site!
IISAdministration PowerShell Module
The WebAdministration module for managing IIS from PowerShell was introduced in IIS 7.5. However, it suffers from several issues, including the fact that it often doesn’t feel very “PowerShelly”. With IIS 10.0, a new alternative PowerShell module has been added, called IISAdministration.
Environment Variables for Applications Pools
In IIS 10.0, you can now easily specify a custom set of environment variables for an Application Pool, which will be defined for any worker process created from it. This is not supported in the UI, but you can easily add them using the Configuration Editor, or using AppCmd.
Log Event On Recycle Defaults
Up to IIS 8.5, the logEventOnRecycle property of application pools had a default value of “Time, Memory, PrivateMemory”. This means that when an application pool was recycled for any other reason, WAS (Windows Process Activation Services) would not leave an audit event on the System Event Log telling you about it.
With IIS 10.0, the default value of logEventOnRecycle property has been changed to “Time, Requests, Schedule, Memory, IsapiUnhealthy, OnDemand, ConfigChange, PrivateMemory”, which is much more useful and aligned with our recommended practices.
Support for Permanent Redirects
When using the “HTTP Redirection” feature, you can now tell IIS to respond with an status code of 308 Permanent Redirect.
Remove the Server Header
One feature that the old UrlScan tool had that was missing from the Request Filtering module introduced in IIS 7.0 was the option to remove the IIS Server version header (“Server: Microsoft-IIS/10.0″). The option to do so has now been added back in IIS 10.0 with the removeServerHeader option.
Tracing after Timeout in FREB
IIS 7.0 introduced a fantastic feature known as Failed Request Tracing (aka FREB). However, one issue with FREB was that if you had rules configured for collecting traces based on request execution time, the trace file would get written as soon as the time limit expired. That meant you usually ended up with a “partial trace” that didn’t include all events until the request completed.
There is a new attribute you can configure on your rules called traceAllAfterTimeout in IIS 10.0. When it is enabled, IIS will wait until the request is actually completed before writing the trace file. This option, however, is not exposed in the User Interface, but you can still use command line tools to enable it.
Are You Looking for Best and Cheap Windows Hosting?
You have many options when choosing the Best and Cheap Windows hosting company. Our recommendation for Windows hosting is ASPHostPortal.com. ASPHostPortal.com is the best and cheap Windows hosting.
ASPHostPortal.com is Microsoft No #1 Recommended Windows and ASP.NET Spotlight Hosting Partner in United States. Microsoft presents this award to ASPHostPortal.com for the ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2012, .NET 4.5.2/ASP.NET 4.5.1, ASP.NET MVC 6.0/5.2, Silverlight 5 and Visual Studio Lightswitch.