<system.webServer>
Overview
The <system.webServer>
element specifies the root element for many of the site-level and application-level configuration settings for Internet Information Services (IIS) 7 in the ApplicationHost.config file, and contains configuration elements that define the settings used by the Web server engine and modules.
Note
Unlike settings that are found in <system.applicationHost
>, settings in the <system.webServer>
element can be delegated.
Compatibility
Version | Notes |
---|---|
IIS 10.0 | The <applicationInitialization> element was not modified in IIS 10.0. |
IIS 8.5 | The <system.webServer> element was not modified in IIS 8.5. |
IIS 8.0 | The <applicationInitialization> and <webSocket> elements were added as child elements. |
IIS 7.5 | The <system.webServer> element was not modified in IIS 7.5. |
IIS 7.0 | The <system.webServer> element was introduced in IIS 7.0. |
IIS 6.0 | N/A |
Setup
The <system.webServer>
element is included in the default installation of IIS 7.
How To
There are no examples that are specific to the <system.webServer>
element. For examples that configure the settings that are found within the <system.webServer>
element, see the child elements that are listed in the configuration details section of this topic.
Configuration
The <system.webServer>
element is defined in the ApplicationHost.config file, although settings in <system.webServer>
element can be delegated to Web.config files.
Attributes
None.
Child Elements
Element | Description |
---|---|
applicationInitialization |
Optional element. Configures settings for application initialization that is performed proactively before a request is received. |
asp |
Optional element. Configures settings for Active Server Pages (ASP) applications. |
caching |
Optional element. Configures output cache settings. |
cgi |
Optional element. Configures default settings for Common Gateway Interface (CGI) applications. |
defaultDocument |
Optional element. Configures settings for returning a default document to a client browser when the client does not specify a file name in a request. |
directoryBrowse |
Optional element. Configures whether directory browsing is enabled or disabled on the Web server, and specifies the information to include in a directory listing. |
fastCgi |
Optional element. Contains a collection of fastCgi application pool definitions. |
globalModules |
Optional element. Specifies configuration settings for global modules on a Web server. |
handlers |
Optional element. Specifies handlers to process requests made to sites and applications. |
httpCompression |
Optional element. Configures HTTP compression settings for a Web server. |
httpErrors |
Optional element. Configures HTTP error messages for a Web server. |
httpLogging |
Optional element. Specifies configuration settings for HTTP.sys logging. |
httpProtocol |
Optional element. Configures custom and redirect response headers to be sent from the server to the client. |
httpRedirect |
Optional element. Configures settings for redirecting client requests to a new location. |
httpTracing |
Optional element. Specifies configuration settings for HTTP.sys tracing. |
isapiFilters |
Optional element. Specifies configuration settings for ISAPI filters on a Web server. |
management |
Optional element. Configures a Web server for remote management by using IIS Manager. |
modules |
Optional element. Specifies configuration settings for modules on a Web server. |
odbcLogging |
Optional element. Configures Open Database Connectivity (ODBC) logging. |
security |
Optional element. Specifies the section group that contains security-related sections. |
serverRuntime |
Optional element. Configures request limits for applications on a Web server. |
serverSideInclude |
Optional element. Specifies whether server-side includes (SSI) #exec directives are disabled. |
staticContent |
Optional element. Configures static file request handler settings. |
tracing |
Optional element. Configures request trace settings. |
urlCompression |
Optional element. Configures compression of static and dynamic content. |
validation |
Optional element. Configures IIS 7 to detect whether an ASP.NET application that is set up to run in ISAPI mode needs any migration in order to function correctly in Integrated mode. |
webdav |
Optional element. Configures WebDAV publishing settings. |
webSocket |
Optional element. Configures communications over the WebSocket protocol. |
Configuration Sample
The following configuration sample defines a simple, static-content-only <system.webServer>
element.
<system.webServer>
<asp />
<caching enabled="true" enableKernelCache="true" />
<cgi />
<defaultDocument enabled="true">
<files>
<add value="Default.htm" />
<add value="Index.htm" />
<add value="Index.html" />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
<fastCgi />
<globalModules>
<add name="UriCacheModule" image="%windir%\System32\inetsrv\cachuri.dll" />
<add name="FileCacheModule" image="%windir%\System32\inetsrv\cachfile.dll" />
<add name="TokenCacheModule" image="%windir%\System32\inetsrv\cachtokn.dll" />
<add name="HttpCacheModule" image="%windir%\System32\inetsrv\cachhttp.dll" />
<add name="StaticCompressionModule" image="%windir%\System32\inetsrv\compstat.dll" />
<add name="DefaultDocumentModule" image="%windir%\System32\inetsrv\defdoc.dll" />
<add name="DirectoryListingModule" image="%windir%\System32\inetsrv\dirlist.dll" />
<add name="ProtocolSupportModule" image="%windir%\System32\inetsrv\protsup.dll" />
<add name="StaticFileModule" image="%windir%\System32\inetsrv\static.dll" />
<add name="AnonymousAuthenticationModule" image="%windir%\System32\inetsrv\authanon.dll" />
<add name="RequestFilteringModule" image="%windir%\System32\inetsrv\modrqflt.dll" />
<add name="CustomErrorModule" image="%windir%\System32\inetsrv\custerr.dll" />
<add name="HttpLoggingModule" image="%windir%\System32\inetsrv\loghttp.dll" />
<add name="RequestMonitorModule" image="%windir%\System32\inetsrv\iisreqs.dll" />
</globalModules>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<httpErrors>
<error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" />
<error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" />
<error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" />
<error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" />
<error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" />
<error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" />
<error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" />
<error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" />
<error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" />
</httpErrors>
<httpLogging dontLog="false" />
<httpProtocol />
<httpRedirect />
<httpTracing />
<isapiFilters />
<odbcLogging />
<security>
<access sslFlags="None" />
<applicationDependencies />
<authentication>
<anonymousAuthentication enabled="true" userName="IUSR" />
<basicAuthentication />
<clientCertificateMappingAuthentication />
<digestAuthentication />
<iisClientCertificateMappingAuthentication />
<windowsAuthentication />
</authentication>
<authorization />
<ipSecurity />
<isapiCgiRestriction notListedIsapisAllowed="false" notListedCgisAllowed="false">
<clear />
</isapiCgiRestriction>
<requestFiltering>
<fileExtensions allowUnlisted="true" applyToWebDAV="true" />
<verbs allowUnlisted="true" applyToWebDAV="true" />
<hiddenSegments applyToWebDAV="true">
<add segment="Web.config" />
</hiddenSegments>
</requestFiltering>
</security>
<serverRuntime />
<serverSideInclude />
<staticContent lockAttributes="isDocFooterFileName">
<mimeMap fileExtension=".png" mimeType="image/gif" />
<mimeMap fileExtension=".htm" mimeType="text/html" />
<mimeMap fileExtension=".html" mimeType="text/html" />
<mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
<mimeMap fileExtension=".png" mimeType="image/jpeg" />
<mimeMap fileExtension=".js" mimeType="application/x-javascript" />
<mimeMap fileExtension=".png" mimeType="image/png" />
<mimeMap fileExtension=".txt" mimeType="text/plain" />
</staticContent>
<tracing>
<traceFailedRequests />
<traceProviderDefinitions />
</tracing>
<urlCompression />
<validation />
<webSocket />
</system.webServer>
Sample Code
There are no code samples that are specific to the <system.webServer>
element. For code samples that configure the settings that are found within the <system.webServer>
element, see the child elements that are listed in the configuration details section of this topic.