Dans l'architecture à 3 niveaux (appelée architecture 3-tier), il existe un niveau intermédiaire, c'est-à-dire que l'on a généralement une architecture partagée entre:
Le client
le demandeur de ressources
Le serveur d'application
(appelé aussi middleware) le serveur chargé de fournir la ressource mais faisant appel à un autre serveur
Le serveur secondaire
(généralement un serveur de base de données), fournissant un service au premier serveur
Architecture à deux niveaux : le serveur est polyvalent, il est capable de fournir directement l'ensemble des ressources demandées par le client.
Architecture à trois niveaux : les applications au niveau serveur sont délocalisées, chaque serveur est spécialisé dans une tâche (serveur web et serveur de base de données par exemple)
une plus grande flexibilité/souplesse
une plus grande sécurité (la sécurité peut être définie pour chaque service)
de meilleures performances (les tâches sont partagées)