For at alt dette interaktivitet skal skje, må moderne webservere gjøre mer enn bare å svare på HTTP-forespørsler.
Webservere generelt gi to mekanismer for interaksjoner:
The Common Gateway grensesnitt
CGI er den mest utbredte metoden for å legge til interaktivitet til en webserver. Under CGI-modell, er en veldig enkel utvidelse lagt til HTTP for å be om statiske filer.
CGI gir en standardisert metode for å forårsake et program som skal kjøres på serveren og for data fra et skjema som skal sendes til programmet for behandling.
Disse programmene kan skrives i nesten alle programmering eller skriptspråk -. C, Perl og Java brukte
Når en bruker ber om en CGI program, muligens ved å sende inn et skjema eller ved å klikke på en link til programmet passerer webserveren brukerens data til CGI program og venter på programmet for å returnere data.
Eventuelle data som returneres av programmet sendes rett tilbake til klienten på samme måte som innholdet i en statiske filer blir returnert til en nettleser, det er programmet jobb å produsere gyldig innhold som skal returneres til nettleseren, og for å håndtere alle situasjoner slik at gyldig innhold er tilbake til klienten.
Totalt sett har CGI konseptet fungerte ganske bra.
Enkelheten i måten data sendes fra serveren til CGI-programmet, og på hvilken måte programmet trenger for å bygge data den returnerer til serveren, betyr at enkle CGI-programmer kan skrives med liten erfaring med programmering. Anmeldelser
I tillegg er det enkelt å endre og teste CGI-programmer, siden populære skriptspråk som Perl kan brukes til å skrive dem.
Standarden natur CGI grensesnitt betyr også at en CGI-skript eller program som er skrevet for en Linux webserver vil sannsynligvis fungere uten endringer på noen annen Linux webserver og muligens på en annen Unix-server, hvis det er skrevet med et språk som vanligvis finnes i alle operativsystemer.
Likevel, for alle dens fordeler, CGI lider av noen alvorlige ulemper som gjør det lite attraktivt for enkelte ne