For at alt dette interaktivitet at forekomme, må moderne webservere gøre mere end blot at svare på HTTP-anmodninger.
Webservere giver normalt to mekanismer for interaktioner:
Common Gateway Grænseflade
CGI er den mest udbredte metode til at tilføje interaktivitet til en webserver. Under CGI-modellen, er en meget simpel udvidelse tilføjet til HTTP for at anmode om statiske filer.
CGI giver en standardiseret metode til at forårsage et program, der skal køre på serveren og for data fra en formular, der skal videregives til programmet til forarbejdning.
Disse programmer kan skrives i næsten enhver programmering eller scripting sprog -. C, er Perl og Java almindeligt anvendt
Når en bruger anmoder om en CGI-program, eventuelt ved at indsende en formular eller ved at klikke på et link til programmet , webserveren passerer brugerens data til CGI-programmet og venter på, at programmet til at returnere data.
Alle data, der returneres af programmet er gået direkte tilbage til klienten på samme måde, at indholdet af en statisk filer er vendt tilbage til en browser, det er programmets opgave at producere gyldigt indhold skal returneres til browseren, og til at håndtere alle eventualiteter så gyldige indhold er tilbage til klienten.
Samlet set har CGI konceptet fungeret ganske godt.
Enkeltheden af den måde data er gået fra serveren til CGI-programmet, og den måde, hvorpå programmet skal bygge de data, det vender tilbage til serveren, betyder, at simple CGI-programmer kan skrives med lidt erfaring med programmering.
Desuden er det let at ændre og test CGI-programmer, da populære scriptsprog såsom Perl kan bruges til at skrive dem.
Standard karakter af CGI-grænsefladen betyder også, at en CGI-script eller program skrevet for en Linux webserver vil sandsynligvis fungere uden ændringer på en anden Linux webserver og eventuelt på enhver anden Unix-server, hvis den er skrevet med et sprog, der almindeligvis findes i alle operativsystemer.