Though SCD2 Training mentions this quite interesting and sometimes useful topic, I decided to give a quick overview of what happens with the HTTP request when it comes to Sitecore.

  • IgnoreList – checks if the requested page is in the ignore URL list in the web.config. The setting is called “IgnoreUrlPrefixes”. If such page is defined, the pipeline terminates.
  • *SiteResolver *– resolving the site name either by the sc_site query string value or by host name or virtual folder name got as a result of parsing the incoming URL.
  • *DatabaseResolver *– getting the Sitecore context database by the sc_database query string.
  • *DeviceResolver *– getting the current Sitecore device by query string, User Agent or in any other supported way.
  • LanguageResolver *– *getting Sitecore context language by the sc_lang query string.
  • *CustomHandlers – *triggers custom handlers that are defined in the <customHandlers /> section.
  • *FilterUrlExtensions *– define the allowed/blocked extensions that will be either streamed or not.
  • *QueryStringResolver *– analyzing such query string as “sc_itemid”. If the ID specified as the value is valid and if the item is found in the context database, then the returning item is set as a context item.
  • *AliasResolver – *if the requested URL matches an alias that exist in the system, Sitecore processes either external URL or the real item that is associated with this alias.
  • *DefaultResolver *– getting the start path item for the context site. Sitecore instantiates this item using the “RootPath” and “StartItem” attributes of the context site by simply concatenating these values.
  • *ItemResolver – *getting the Sitecore context item by the incoming URL.
  • *LayoutResolver – *returning the presentation logic for the resolved item.
  • *ExecuteRequest – *context path rewrite and handling of the “item not found”/”layout not found” errors.