IIS Request Processing
As you have read my earlier topic "Introduction to IIS Architectures".
You can find it here http://shareinkt.blogspot.com/2015/08/introduction-to-iis-architectures.html
This topic describes how a client request is processed on an IIS server.
You can find it here http://shareinkt.blogspot.com/2015/08/introduction-to-iis-architectures.html
This topic describes how a client request is processed on an IIS server.
Request Processing by Type of Request
The following table describes what happens once an IIS process receives a request to be executed.
ISAPI filters are always loaded as long as the Web service is running and a request to the server has been made.
Preliminary Request Processing on IIS 6.0 in Workder Process Isolation Mode
Before an IIS process receives a request to execute, some preliminary processing occurs that is described in the following steps:
- A request arrives at HTTP.sys.
- HTTP.sys determines if the request is valid. If the request is not valid, it sends a code for an invalid request back to the client.
- If the request is valid, HTTP.sys checks to see if the request is for static content (HTML) because static content can be served immediately.
- If the request is for dynamic content, HTTP.sys checks to see if the response is located in its kernel-mode cache.
- If the response is in the cache, HTTP.sys returns the response immediately.
- If the response is not cached, HTTP.sys determines the correct request queue, and places the request in that queue.
- If the queue has no worker processes assigned to it, HTTP.sys signals the WWW service to start one.
- The worker process pulls the request from the queue and processes the request, evaluating the URL to determine the type of request (ASP, ISAPI, or CGI).
- The worker process sends the response back to HTTP.sys.
- HTTP.sys sends the response back to the client and logs the request, if configured to do so.
Preliminary Request Processing on IIS 6.0 in IIS 5.0 Isolation Mode and Earlier Versions of IIS
The request processing of IIS 6.0 running in IIS 5.0 isolation mode is nearly identical to the request processing in IIS 5.1, IIS 5.0, and IIS 4.0. Before an IIS process receives a request to execute, some preliminary processing occurs that is described in the following steps:
- A request arrives. If the requested application is running in-process, then Inetinfo.exe takes the request. If not, then DLLHost.exe takes the request.
- Inetinfo.exe or DLLHost.exe determines if the request is valid. If the request is not valid, it sends a code for an invalid request back to the client.
- If the request is valid, Inetinfo.exe or DLLHost.exe checks to see if the response is located in the IIS cache.
- If the response is in the cache, it is returned immediately.
- If the response is not cached, Inetinfo.exe or DLLHost.exe processes the request, evaluating the URL to determine if the request is for static content (HTML), or dynamic content (ASP, ASP.NET or ISAPI).
- The response is sent back to the client and the request is logged, if IIS is configured to do so.
Comments
Post a Comment