It is a design pattern that helps separate business logic from input and presentation, making it easier to maintain each one of those components independenly from each other.
Model: it is the representation of data according to the application’s function or domain. It includes data access but it is not exclusively the retrieval or records.
View: renders the model so it can interact with users. It is the UI. It can have several manifestations for a given Model.
Controller: receives input and coordinates actions between the Model and the View. In the case of web servers translates HTTP requests into calls to backend and ultimately HTML pages.