Im Gegensatz zu statischen Webseiten, die technisch eine einfache Datei auf dem Webserver darstellen, werden Seiten auch häufig dynamisch im Moment der Anforderung erzeugt. Das ist dann sinnvoll, wenn eine Webseite sehr aktuelle Informationen wie z. B. Börsenkurse oder das Wetter von morgen enthalten sollten. In diesem Fall führt der Webserver ein Programm aus, das vorher spezifisch für diese Aufgabe entwickelt wurde. Es trägt die Daten z. B. aus Datenbanken zusammen und erstellt das HTML-Dokument. Dieses wird dann vom Webserver an den Browser übertragen und beim Benutzer angezeigt.
Zum Generieren von dynamischen Webseiten kommt jedes Programm in Frage, das sich auf dem Serversystem ausführen lässt. Um die Programmierung zu vereinfachen, wurden jedoch Standards wie das Common Gateway Interface (CGI) eingeführt, um Webanwendungen auch unabhängig von der Art des Webservers zu machen. Die Mehrzahl von CGI-Anwendungen wurden und werden in der Programmiersprache Perl geschrieben. Aufgrund des rasant steigenden Bedarfes nach sehr leistungsfähigen Servern zum Betrieb von Web-Anwendungen entwickelten sich Technologien wie PHP, J2EE und .NET.
In der Praxis gibt es einen starken Trend, auf sog. Content-Management-Systeme (CMS) aufzusetzen. Oftmals wird allerdings der Erstellungsaufwand unterschätzt. Es drängen mehr und mehr, meist PHP und MySQL basierte, Lösungen in freier Software auf den Markt, die auch für ungeübte Programmierer schnell zu bedienen sind.