Un site statique est généralement un ensemble de pages pré formatées au format HTML stockées sur un serveur Web. Aucun traitement n'est effectué du côté du serveur, qui ne fait qu'envoyer ces pages au navigateur de l'utilisateur final. Le contenu d'un site dit statique est donc codé en dur dans les pages du site où l'on pourra trouver pêle-mêle du code HTML, du javascript, du flash, des images et les liens entre les différentes pages qui sont fabriqués à la main...
Autant dire que la mise à jour s'annonce délicate voire périlleuse pour qui n'a pas quelques notions de base en HTML. Certes, il existe des éditeurs HTML, il n'en reste pas moins que la maintenance d'un tel site est coûteuse en temps et peu flexible sur de gros sites ; ainsi, pour ajouter une page dans le site, il vous faudra éditer plusieurs fichiers HTML du site. Pour des sites de quelques dizaines de page, un site statique conviendra tout à fait.
Dans un site dynamique, le contenu du site est stocké dans une base de données (MySQL par exemple) ; le contenu est dissocié de la fonction de «présentation», c'est à dire la partie du code en charge de la restitution des données dans le navigateur de l'utilisateur final. Lorsque le serveur Web reçoit une requête HTTP émise par le visiteur, il interroge la base de données puis construit une page de résultat qu'il restitue au visiteur via le navigateur. La page affichée à l'écran dépend du contenu de la base de données, de l'endroit ou se trouve l'utilisateur voire de son profil (internaute anonyme ou utilisateur identifié par son mot de passe) et de la dernière action de l’utilisateur (sur quel menu a-t-il appuyé précédemment ?).
Par exemple, lors de l’ajout d’article, vous n’aurez à ajouter manuellement un lien vers un article fraîchement créé. Tout ce traitement est effectué par le serveur Web qui génèrera une liste des articles de votre site avec un lien vers le nouvel article.







