Web Architecture Terminology

A web application dynamically creates HTML pages using content from a database. It also serves forms that allow users to update content in the database.

A web framework (e.g. Rails, Flask) provides a lot of starter code to make the development of a web application much easier. Traditional web frameworks use the MVC (Model, View, Controller) architecture:

  • Model -- specifies data organization. It includes code for supporting organization and database connection.
  • Controller -- handles requests from the browser, accesses data from the model, performs calculations and calls a View for displaying a page.
  • View -- Produces a dynamic HTML page based on information from the controller.

Many frameworks have a separate routing system, which handles a request from the web browser and directs it to the right controller.

The diagram below depicts how the traditional MVC components work together.

MVC diagram

Frequent characteristics of modern web architectures

  • View is component-based
  • The client (web browser) handles more of the architecture components, except for the database
  • Emphasis on single-page apps