Un modelo de arquitectura de dos capas distribuye una aplicación web entre dos componentes lógicos: una capa de presentación que interactúa con los usuarios y una capa de datos que almacena y gestiona la información de forma persistente. Existen tres variantes principales de esta arquitectura dependiendo de cómo se distribuyen estas capas y la lógica de negocio entre el cliente y el servidor.