IIS
Interview Questions & Answers
What is the Role of IIS?
Ans: IIS
provides a redesigned WWW architecture that can help you achieve better
performance, reliability, scalability, and security for our Web sites. IIS can
support following Protocol HTTP/HTTPS, FTP, FTPS, SMTP Etc. We need to host the
site on IIS, when request comes from client it first hits the IIS Server, then
the server passed it to ASP.NET worker process to execute. Then the response
also passes to client via IIS itself.
1) Note
only Hosting of Site we can create our FTP Server, SMTP Server using IIS
itself.
2) There
are different version of IIS available like 5.1, 6.0, 7.0 etc
What are the different version on IIS that you have worked on ?
Ans: Before answering this question you need to know
what are the different IIS version is available in different OS. Below is the
list of IIS version with different Operating system.
Windows Server 2008 - Windows Vista - Home Premium/
Ultimate - IIS 7.0
Windows Server 2003 - IIS 6.0
Windows XP Professional - IIS 5.1
What is the difference between them?
Ans: The main advantages of IIS 7.0 is Modular
Design which gives some benefits to IIS 7.0 over IIS 6.0. The following table
shows you some differences of IIS 6.0 and IIS 7.0.
Features
|
IIS 6.0
|
IIS 7.0
|
Architecture
|
Monolithic
|
Modular
|
Setup
|
Most
Features Installed
|
Minimum
installation based on role
|
Extended
Features
|
ISAPI
Filter and ISAPI Extension
|
Added
Module and handler in managed or native code
|
Customize
UI
|
Normal
|
Customize
for .NET
|
What is Application Pool in IIS?
Ans: Before Giving the Definition: you can say like
this, Concept of Application pool has from IIS 6.0 Application pools are used
to separate sets of IIS worker processes that share the same configuration and
application boundaries. Application pools used to isolate our web application
for better security, reliability, and availability and performance and keep
running without impacting each other. The worker process serves as the process
boundary that separates each application pool so that when one worker process
or application is having an issue or recycles, other applications or worker
processes are not affected.
One Application Pool can have multiple
worker process Also.
Main Point to Remember:
1. Isolation of Different Web Application
2. Individual worker process for different web
application
3. More reliably web application
4. Better Performance
What is the Name of Default Application Pool in IIS?
Though we can create new application pool IIS with
different settings, but IIS having its own default application pool named:
DefaultAppPool
What are the different types of Identity available in IIS 6.0?
IIS having three different Identity
1. Local System
2. Local Services
3. NetworkServices
Name of default Identity of IIS6.0 :- Default Identity of IIS 6.0 is Network
Services .
Which is having very minimum rights on your system the user can only have
the read access of the site.
Ans:- Network Services
What is Recycling of Application Pool ?
Recycling Application pool means recycle the Worker
process (w3wp.exe ) and the memory used for the web application.
There are two types of recycling related with
Application pool
1. Recycling Worker Process - Predefined Settings
2. Recycling Worker Process - Based on Memory
What are the main layers of IIS Architecture?
IIS having mainly two layer Kernel Mode and User
Mode
Below are the sub sections of both of them.
1. Kernel Mode
o HTTP.SYS
2. User Mode
o Web Admin Service
o Virtual Directory
o Application Pool
What is the Role of Http.Sys in IIS ?
HTTP.SYS is the kernel level components of IIS. All
client request comes from client hit the HTTP.Sys of Kernel level. HTTP.SYS
then makes a queue for each and every request for each and individual
application pool based on the request. Whenever
we create any application pool IIS automatically registers the pool with
HTTP.SYS to identify the particular during request processing.
What are the different security
settings available in IIS?
Below are the commonly used IIS Security settings
1 Anonymous
2 Integrated Windows Authentication
3. Basic Authentication
4. Digest Authentication
5. Passport Authentication
For Set security permission you need to go to Virtul
Directory > Right Click > Properties > Directory Security
Click on Edit Button .
What is the default authentication setting for IIS?
Anonymous authentication is the default
authentication mode for any site that is hosted on IIS, and it runs under the
"IUSR_[ServerName]" account.
What is web garden?
By default Each Application Pool runs with a Single
Worker Process (W3Wp.exe). We can assign multiple Worker Process With a Single
Application Pool. An Application Poll with multiple Worker process called Web
Gardens. Each Worker Process Should have their own Thread and Own Memory space.
Generally it’s not recommended to use
InProc Session mode while we are using Web Garden.
It not always recommended to use Web Garden to your
Application. It effects the performance of your sites except in very specific
cases like some long running synchronous requests or application is very
unstable.
Where session data stores in case of "In-Proc" Session mode?
Session data store inside process memory of worker
process [ w3wp.exe ] .
How we can create an web garden?
For creating web graden we need to go to Application
Pool, then Right Click on Application Pool > Properties > Goto
Performance Tab . In Web Garden Section, increase the number of worker process.
By default it is 1.
How we can debug a web application which is hosted on IIS ?
We can easily debug any web application that is
hosted on IIS by using Attaching of Worker Process.
From Visual Studio IDE > Tools > Attach To
Process
Select the particular Process, and then start debugging.
How we can open IIS Configuration manager?
Just simply Run >inetmgr , Or we can open it from
control panel > Administrative tools.
How we can create a Virtual Directory on IIS?
Open IIS Configuration Manager
First of all Right Click on Default web sites >
New > Virtual Directory
Browse the Physical Path. Set the properites. Click
on OK
What are the permission settings are available for Virtual Directory?
Below are the list of permission that can be set
during virtual directory creation
1. Read
2. Run Scripts
3. Execute:
4. Write:
5. Browse
Can we have multiple web sites on IIS?
Yes. IIS can have multiple web sites and Each and
every web site can have multiple virtual Directories.
Note: Here web sites mean the Root Node.
Where is the default location for IIS Log files?
It’s C:\WINDOWS\system32\LogFiles\W3SVC1
What is ISAPI Filter?
ISAPI (Internet Server Application Programming
Interface)
filters are DLL files that can be used to modify and enhance the functionality
provided by IIS. ISAPI filters always run on an IIS server, filtering every
request until they find one they need to process. The ability to examine and
modify both incoming and outgoing streams of data makes ISAPI filters powerful
and flexible.
Filters are
registered at either the site level or the global level (that is, global
filters apply to all sites on the IIS server), and are initialized when the
worker process is started. A filter listens to all requests to the site on
which it is installed.
Both ISAPI
filters and ISAPI extensions can only be developed using C/C++. Visual Studio
comes with wizards that make ISAPI development fast and easy
Possible Uses for ISAPI Filters
ISAPI filters can be
registered with IIS to modify the behavior of a server. For example, filters
can perform the following tasks:
·
Change request data (URLs or headers) sent by the client
·
Control which physical file gets mapped to the URL
·
Control the user name and password used with anonymous or basic
authentication
·
Modify or analyze a request after authentication is complete
·
Modify a response going back to the client
·
Run custom processing on "access denied" responses
·
Run processing when a request is complete
·
Run processing when a connection with the client is closed
·
Perform special logging or traffic analysis.
·
Perform custom authentication.
·
Handle encryption and compression.
Note*: ISAPI filter DLLs cannot be
requested explicitly, like ISAPI extensions can.
What are the major innovations in IIS 7.0?
Below are the Major Innovation in IIS 7.0
Components are designed as module and there are
major changes in administration settings.
Major innovations in IIS 7.0:
- A
modular, extensible core Web server
- A
unified, distributed file-based configuration system
- Integrated
health monitoring and diagnostics
- A
set of new administration tools with delegation support
What is the Role of Windows Activation Process in IIS?
WAP is the Controller of Worker process under a
Application Pool. Windows Activation Process which is managed by the worker
process by starting, stopping and recycling the application pool. When to
start, stop and Recycle should be defined on Application Pool Settings.
Activation Process is also responsible for Health Monitor of Application Pool
during runtime.
FYI: Health monitoring setting can be easily found in Properties of Application
Pool.
What are the different types of application pool available in IIS 7.0?
IIS 7.0 having two types of application pool.
1. DefaultAppPool (Integrated)
2. ClassicAppPool
Which application pool having maximum privilege on the server?
Select
from following answers:
- LocalSystem
- LocalServices
- NetworkServices
Local System is a built-in account that has
administrative privileges on the server. It can access both local and remote
resources
What are the worker process for IIS 5.1 and IIS 6.0 ?
For IIS 5.1 > aspnet_wp.exe
For IIS 6.0 > w3wp.exe
Ø Name of the tool which is used for remote debugging of IIS
Select
from following answers:
- msvsmon.exe
- iisremotedebugger.exe
- remotehelper.exe
- svcutil.exe
msvsmon.exe
is used for IIS Remote Debugging
What is Web Farm ?
This is one of the most question in IIS. And along
with that interviewer can as what is the different between Web farm and Web Garden?
When we hosted our web Application on multiple web
server under a load balancer call the Web Farm. This is generally used for
heavy load web application where there are many user request at a time. So
When Web Application is hosted on Different IIS Server over a load balancer,
Load balancer is responsible for distribute the load on different server.
|
|
Introduction
Web Farms and Web Garden are very common terminology
for any production deployment. Though these terms looks same but the things are
totally different. Many beginners very confused with these two terms. Here I am
giving the basic difference between the Web Farm and Web Garden.
Web
Farm
After developing our asp.net web application we host
it on IIS Server. Now one standalone server is sufficient to process
ASP.NET Request and response for a small web sites but when the site comes for
big organization where there an millions of daily user hits then we need to
host the sites on multiple Server. This is called web farms. Where single site
hosted on multiple IIS Server and they are running behind the Load
Balancer.
General
Web Farm Architecture
This is the most common scenarios for any web based
production environment. Where Client will hit an Virtual IP ( vIP) . Which is
the IP address of Load Balancer. When Load balancer received the request based
on the server load it will redirect the request to particular Server.
Web Garden
All IIS Request process by worker process (
w3wp.exe). By default each and every application pool contain single worker
process. But An application pool with multiple worker process is called Web
Garden. Many worker processes with same Application Pool can
sometimes provide better throughput performance and application response time.
And Each Worker Process Should have there own Thread and Own Memory space.
There are some Certain Restriction to use Web Garden
with your web application. If we use Session Mode to "in proc", our
application will not work correctly because session will be handled by
different Worker Process. For Avoid this Type of problem we should have to use
Session Mode "out proc" and we can use "Session State
Server" or "SQL-Server Session State".
How To Configure Web Garden?
Right Click on Application Pool > Properties >
GoTo Performance Tab
In bottom Group Section Increase the Worker Process Count.
How can we set the default page for
any web application?
We can set the default page for a web site from the
Virtual Directory Setting.
How To: IIS Manager > Virtual Directory >
Right Click > Properties > GoTo Document Tab.
How we can set the Idle Time out of an worker process?
We can set the Idle time out for an worker process
from Application Pool Properties. In Performance Tab of Application pool, we
can set the Idle Time out of the worker process. This means worker process will
shut down after that given time period if it stay idle. And will again wake up
again if a new request comes.
What is the folder location for Virtual Directory?
<Drive>:\inetpub\wwwroot
What is the use of Enable Pinging Properties for Application Pool ?
IIS should periodically monitor the health of a
worker process [ Idle or not , Time for recycle or not, All Worker process are
running properly or not ] .
Pining means, Activation Process monitor Worker
process performance, health, idle time etc.
By default it sets to 30s.
Does One Web Application can have multiple Application Pool?
No. Every Web Application should have one
Application Pool. Bydefault it is "DefaultAppPool ".
Which version of IIS is available in Windows Server 2008 ?
IIS 7.0, Even Vista Home Premium and Ultimate
edition is also having IIS 7.0
How we can save Application Pool Settings?
Application Pool Settings can be save as
"XML" Format. Right Click on Application Pool > All Task > Save
Configuration to a File. This will save
all the settings of Application Pool as an XML file.We can make it password
protected also.
Which Tool is used for Remote IIS Debugging?
Tools is : msvsmon.exe This is located at : Install path\Microsoft
Visual Studio 8\Common7\IDE\Remote Debugger\x86
What are the different authentication modes available for IIS Remote Debugging?
For IIS Remote Debugging msvsmon supported two
authentication mode
1. Windows Authentication
2. No-Authentication
How can we get the list of worker process running in IIS along with the
Application pool name?
By running iisapp.vbs script from command Prompt
Below are the steps :
1. Start > Run > Cmd
2. Go To Windows > System32
3. Run cscript iisapp.vbs
If
there are multiple worker process running on IIS, then how can you attach a
particular worker process for application?
Well, If there are multiple worker process running
in IIS, it means I have to know the name of my application pool. Then I can run
cscript iisapi.vbs script to find out the process ID and Application Pool name
. Based on the process Id for particular application I have to attache the
process from Visual studio IDE.
Why do we need to IIS Remote Debugging?
There are following reasons where we can use remote
debugging
1. Your development server does not have IIS
installed.
2. Development server and Build/Released/Hosting
Server is different
3. Multiple users want to debug simultaneously.
Does IIS allows multiple user to Remote debug simultaneously?
Yes. This is one of the great features of
msvsmon.exe . Each instance of the remote debugger has a unique server name.we
can give an instance of the remote debugger any server name. Now multiple user
can able to access the server instance.
What is the use of
aspnet_regiis -i command ?
This is used automatically register the .NET
Framework with your IIS.
How we can open IIS Configuration manager ?
Just simply Run >inetmgr
Or we can open it from control panel >
Administrative tools.
Can we create one Application Pool From Another Application Pool ?
Yes. We can.
While creating Application Application Pool From
IIS, there should have two option available first one is for Default Setting
and Another is for Existing Setting as template. We can select the second one
and from the drop down listed below we can select any on the Application Pool
as Template,.
What are the main components of SVCHost.exe ?
Main components for SVCHost.exe are WWW Publishing
Service (W3SVC) and Windows Activation Porcess (WAP). W3SVC is the mediator of
HTTP.SYS and Windows Activation Process. Windows Activation Process maintain
the worker processes.
What are the different way that we can hosted site on IIS ?
We can hosted site on IIS either creating Virtual
Directory through IIS manager or Using Folder Web Sharing .
Apart from that Visual studio provide some inbuilt
features to host the site on IIS like using Publishing the web site , Using
Copy web Tool or Creating Virtual directory during the creating the project by
choosing Location as HTTP
How does IIS process an ASP.net request ?
When client request for an aspx pages, request comes
to kernel level off IIS means to HTTP.SYS . HTTP.SYS receives the request and
based on the application pool name [ Which is already registred with the
HTTP.SYS ] it send the request to worker process. Windows Activation process
works as mediator of them. w3wp.exe loads "aspnet_isapi.dll" files to
start the HTTPRuntime . HTTPRuntime creates HTTPApplication objects and all
request are passed through HTTPModule and finally reached to HttpHandler . This
is the request pipeline. After end of Request pipeline ASP.NET Page lifecycle starts.
From where we can set the Session Time Out in IIS ?
We can set the Session time out settings from the
Virtual Directory for that site.
Right Click on Virtual Directory > Properties
> Click on "Configuration" Button
Goto the "Option" Tab. There in Enable
Session State Section you can configure the Session Timeout .
What are the different "Execution Permission" available for IIS
for an virtual directory ?
There are three Execution Permission available.
1. None
2. Scripts Only
3. Scripts and Executable
From where you can change the ASP.NET Version in IIS ?
This can be change from Virtual Directory
properties. First open Properties of Virtual Directory > GoTo ASP.NET
Version Tab. There we can have change the ASP.NET Version.
What is the latest version of IIS released with Windows 7
IIS 7.5
What is the default user name of an anonymous login in IIS?
In IIS, an anonymous user will be given with a user
name of "IUSR_MachineName "
How can we take back-ups in IIS Server?
Step 1 : In the IIS (inetmgr), right click on the
"Computer" icon under "Internet Information Services" .
Click "All Tasks" and select "Backup/Restore
Configuration".
Step 2 : Click on button "Create backup".
Give Name for your backup file. If you want encryption enable encryption option
and give UserName and Password and then click OK.
What is IIS metabase? And In which format IIS stores configurations?
IIS metabase is a special databse which is used to
maintain the settings and configurations data for IIS. In simple term, it is a
configuration base for IIS (Metabase.xml).
IIS 5.0 --> Metabse is in Binary.
IIS 6.0 & 7.5 --> Metabase is in XML.
List of Error & Status codes in IIS 6.0?
Status Code Type of Code
100 Series - Informational ,200 Series - Success ,300
Series - Redirection ,400 Series - Client Error and 500 Series - Server Error
How to recycle application pool from the command prompt in IIS7?
1. Use appcmd.exe to recycle the application pool
from the command prompt.
2. appcmd.exe is the command line tool for IIS7, you
will find this tool at following location :
%systemroot%\system32\inetsrv\appcmd
3. To recycle your application pool use the
following command:
appcmd recycle apppool /apppool.name:<application
pool name>
What are the Different steps to be followed to get SSL(Secure Sockets
Layer) for our Web Application ?
- . Intially
we have to Generate a certificate request from our IIS
- . Now we
have to request a certificate from the certificate authority(CA)
- . This CA
is an entity which issues Digital Certificates.
- . After receiving
the certificate we have to install that particular certificate on our Web
Server using IIS
- . We have
to use Secure Hyper Text Transfer Protocol(HTTPS) when accessing secure
pages in our application.
- By this way
we could make our web page as SSL protected. !!!
What is the purpose of IIS application pools?
We use application pools for isolation purpose.
Every application within an application pool used the same worker process. Each
worker process operates as a separate instance of the worker process executable,
W3wp.exe, the worker process that services one application pool is separated
from the worker process that services another.
In simplest words we use applicaiton pools for
ISOLATION purpose.
What is Windows Process Activation Service ?
The Windows Process Activation Service (WAS)
provides process activation, resource management and health management services
for message-activated applications. It manages application pool configuration
and the creation and lifetime of worker processes for HTTP and other protocols
(net.tcp,net.pipe,net.msmq)
What are the Different Authentication Methods (Using Windows
Authentication) which are provided by IIS?
Generally IIS provides four different kinds of
Authentication Methods they are :
- Anonymous
Method:- If we select this authentication,
IIS doesn't perform any authentication so that any one can access the
application.
- Basic
Method:- If we select this method, the user
who access the application should provide windows username and password to
access the application. Although this is sent through a network by
transmitting direct text so it it very insecure
- Digest
Method: - This method is almost equal to
Basic method but the difference is the password is hashed before it is
transmitted through out a network.
- Windows
Integrated Method: - In this the application uses
the Kerberos protocol to validate (Authenticate) the user. This uses a
Secret key cryptography which provides string authentication for
Client/Server applications.