Application client-serveur vs application web
Une application qui s'exécute côté client et accède au serveur distant pour obtenir des informations est appelée application client-serveur alors qu'une application qui s'exécute entièrement sur un navigateur web est appelée application web. Le serveur client adresse toujours des requêtes au serveur distant pour obtenir des informations. L'interaction de l'utilisateur avec le serveur se fait toujours par le biais d'une interface utilisateur ou d'une application du côté client. L'interaction de l'utilisateur dans une application web se fait par le biais d'un navigateur web. Une application client-serveur peut être spécifique à une plate-forme ou multiplate-forme, selon le langage de programmation utilisé. Une application Web est indépendante de la plate-forme car elle ne nécessite qu'un navigateur Web. Le langage multiplateforme fait en sorte qu'une application semble native à la plateforme ou au système d'exploitation du client.
L'application client/serveur est toujours installée sur l'ordinateur du client, contrairement à une application web. Les applications web peuvent s'exécuter directement sur les navigateurs et ne nécessitent donc aucune installation. Une application client/serveur utilise une architecture à deux niveaux alors qu'une application web utilise une architecture à plusieurs niveaux qui se compose d'un client utilisateur, d'un niveau intermédiaire et d'un serveur d'applications. Une application web utilise un système à utilisateur unique, contrairement à une application client-serveur qui utilise deux utilisateurs : le client et le serveur.
Une application web est hébergée dans un environnement contrôlé par un navigateur, ou elle est souvent programmée dans un langage qui prend en charge le navigateur. JavaScript est le langage supporté par le navigateur le plus largement utilisé. Dans les applications client/serveur, la machine serveur est un hôte qui exécute des programmes à serveur unique ou multiple partageant leurs ressources avec les clients. Un client demande toujours à un serveur des informations ou du contenu sans partager aucune de ses ressources.
Dans une application client/serveur, il est difficile de tester les erreurs de script alors que dans les applications web, il est facile de tester les erreurs de script. Les types spécifiques de clients utilisés dans un modèle client/serveur sont les navigateurs web, les clients de messagerie et les clients de chat en ligne. Les types de serveurs utilisés sont : les serveurs web, les serveurs ftp, les serveurs d'applications, les serveurs de bases de données, les serveurs de noms, les serveurs de fichiers, les serveurs de messagerie, les serveurs de terminaux et d'impression.
Dans un modèle client/serveur, le serveur est souvent surchargé lorsque le nombre de demandes simultanées des clients augmente. Dans une application web, ce problème est exclu car il suffit d'un navigateur web compatible pour que l'application web fonctionne. Voici quelques exemples d'applications Web : Yahoo mail, Gmail, WebOffice, Google Apps, Microsoft Office Live, WebEx, etc.
.