title: IIS request steps
body: <p>Say I have a request labeled with ReqA. This is what i've understood so far</p>
  
  <ol>
  <li>ReqA comes to IIS.</li>
  <li>This request is processed by HTTP.SYS </li>
  <li>HTTP.SYS passes this request to the appropiate Application Pool</li>
  <li>Application Pool passes this request to Worker Process (w3wp.exe) </li>
  </ol>
  
  <p>Now the next level :</p>
  
  <ol>
  <li>Each Worker Process has two Thread Pools
  a. Worker thread pool b. I/O thread pool</li>
  <li>Each Thread Pool has it's own Queue
  a. Request Queue   b. I/O Queue
  (each consisting of 100 threads)</li>
  <li>ReqA enters Worker thread pool.</li>
  </ol>
  
  <p>Similarly, request ReqB will follow the above steps and finally enters the Worker thread pool.
  Now, if ReqC is the 101th request, then it will wait in Request Queue of Worker thread pool. This is the reason why 100 user can enter a site hosted in IIS at the same time. </p>
  
  <p>Have i understood all correctly?? </p>
  
  <p>I have another question. In this discussion, where is myth of blocking I/O (as IIS is blocking I/O prior to node) and multi-threading?</p>