CGI
Wikipedia
Common Gateway Interface (CGI) on tärkeä Web-ympäristön tekniikka, jonka avulla selain voi välittää dataa palvelimella suoritettavalle ohjelmalle. CGI määrittää standardin tähän datan välitykseen.
CGI syntyi Rob McCoolin, John Franksin, Ari Luotosen, George Phillipsin ja Tony Sandersin keskustelujen www-talk-postituslistalla tuloksena vuonna 1993. NCSA:lla työskentelevä McCool teki standardin ensimmäisen version ja mallitoteutuksen NCSA HTTPd -palvelinta varten käyttäen tiedon välitykseen Web-palvelimen ja käynnistettävän prosessin välillä ympäristömuuttujia.
Web-palvelimen näkökulmasta CGI toimii siten, että tietyt URL-osoitteet on määritetty suoritettavaksi ajettavina ohjelmina (esimerkiksi http://www.example.com/wiki.cgi) Kun tätä URL:ia haetaan selaimella, vastaavaa ohjelmaa (wiki.cgi) kutsutaan. Ohjelman tuottama tuloste kerätään web-palvelimella ja lähetetään asiakasohjelmalle (selaimelle) HTTP-protokollan vaatimien otsikkotietojen jälkeen.
CGI on kieliriippumaton. Webin yleistyessä CGI-ohjelmien tekoon käytettiin useimmin Perl-kieltä. Erilaiset komentosarjakielet, kuten Python, Ruby, PHP ja Tcl ovat edelleen suosituimpia.
Koska CGI-tekniikka käynnistää joka kerta uuden ohjelman suoristettavaksi, palvelimen kuormitus kasvaa nopeasti. Tämä vuoksi on kehitetty edelleen tehokkaampia tekniikoita, kuten mod_perl ja ASP, joissa komentosarjakieli on sisällytetty web-palvelimeen.