The core libraries provide the functions and services used throughout Drupal.
Facilities for interacting with the database, translating between languages, sanitizing
user data, building forms, and encoding data are all found in Drupal’s core libraries.
These tools are what we might call utilities: They facilitate effective data processing,
but are not responsible for handling the lifecycle of a request. The lifecycle is handled
Once Drupal has loaded core libraries and initialized the database, it loads the
enabled modules and themes, and then it begins a systematic, step-by-step process
of handling the request. This process is what I call the lifecycle of a request. It works
Drupal steps through a number of pre-determined operations. It checks to see if any
modules need to be initialized. It looks up what code is responsible for handling the
given URL. It checks whether the current user has access to the requested resource. It
checks to see if some data can be retrieved from cache. It continues stepping through
such operations until the request is complete.
However, the most important thing about this step-by-step process is the way
Drupal does it.