The architecture of CodeIgniter is shown below.
As shown in the graph, whenever a request comes to CodeIgniter, its first go to index.php page.
In the second step, Routing decide whether to pass this request to step-3 for caching or to pass this request to step-4 for security check.
If the requested page is already stay in Caching, then Routing will pass the request to step-3 and the response will go back to the user.
If the requested page does not already exist in Caching, then Routing will pass the requested page to step-4 for Security checks purpose.
Before passing the request to Application Controller, the Security of the submitted data is checked. After the Security check, the Application Controller loads needed Models, Libraries, Helpers, Plugins and Scripts and pass it on to View.
The View will remuneration the page with obtainable data and pass it on for Caching. As the asked page was not cached before so this time it will be cached in Caching, to procedure this page quickly for future asked/request.