Une CGI permet de faire communiquer un serveur HTTP et un programme pour générer d'une manière dynamique des documents HTML. L'illustration la plus commune en est l'accès à une base de données, celui-ci étant de plus en plus fait à l'aide de PHP ou ASP. Mais l'interface CGI ne perd pas de son intérêt car elle permet de faire communiquer n'importe quel programme binaire avec le serveur Web et peut donc offrir beaucoup plus de fonctionnalités que les scripts embarqués et plus rapidement. L'inconvénient est que leur utilisation est moins simple.