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.