To be as precise
as possible, IIS
is a grouping of internet services
that all come together to form a package
. They include:
People (including myself) usually refer to the web server as IIS. It is the most widely used and most widely programmed-for service. The web server behaves as any well written Windows NT
process should, which has two advantages:
It has access to all scripting engines installed: You could write anything as an asp page as long as the parser knows what to do with your code. I am pretty sure it comes with Perl, JScript, and VBScript by default. I know that there is at least a way to program in Python on it, if not other languages. VBScript is the best, as it has best performance (proven in many benchmarks). Apache can do the same with any mod_* it has.
It has access to all COM objects in the registry: "So what?" you say. Well, this is important because of ADO (Active Data Objects), so that you can easily access databases. (It is the preferred way to refer to a database.) Everything in Windows is a COM Object. There is little stopping you from creating any soft of object from the registry. By calling Server.CreateObject on an object in your registry, you add anything to your page. Want an Excel object (won't look like anything, but you can access methods and the like)? Just create an object of type Excel.Application. IIS will launch (via CoCreateInstance) an instance of Excel for you to mess with. It's that easy (and crazy).
IIS has its strengths
. I like it because of rapid development time, and high flexibility. There have been some security flaws, and I'm not crazy about the Session Object (i do all of that by hand). All in all, it's quite a nice serving environment
, and a worthy competitor to Apache