The Web 1.0 Software Stack
The software infrastructure stack that supports the original Web (now called 'Web 1.0' to differentiate it from 'Web 2.0') is shown in the figure below.

It had/has three problems, labeled in the figure with numbered circles:
- a clunky, page-at-a-time user interface
- heavy-weight application servers that are complex to program, complex to tune, etc.
- an ’impedence mismatch’ between the object programming languages used to build web applications
and the tuple-based model of the relational DBMS used to store the data on which the applications depended