Link til SuperUsers hjemmeside. Link til kursusinformation - herunder beskrivelser, instruktører, datoer, priser, certificering, forløb, praktiske oplysninger og kørselsvejledning. Link til oplysninger om certificering - generelt og specifikt. Link til konsulent- og udviklingsydelser - generelt og specifikt. Link til artikler Link til hvem, hvad, hvor ... om SuperUsers. Link til kontaktinformation og formular til bestilling af materialer. Link til tilmeldingsformularer samt kursusdatoer og -priser. Link til søgning i SuperUsers' website.

Til Oversigt over Artikler

Artikler
Hvad er CGI
 

 

CGI står for Common Gateway Interface og beskriver standard-grænsefladen (defineret af W3C, WWW Consortium) imellem en Web server og et eksternt program. Følgende scenario forklarer, hvorledes CGI-scripts bruges:

  • En bruger henter via internettet en hjemmeside (et HTML-dokument) hjem på sit system med en Web-browser.
  • Brugeren udfylder en formular som er defineret i dette HTML-dokument. Dette kunne fx. være en bestilling af en SuperUsers T-shirt (størrelse, antal, etc.)
  • Efter at have udfyldt formularen trykker brugeren på knappen “SEND”.
  • I HTML-dokumentet, hvor formularen findes, er defineret, hvad der skal ske når brugeren trykker på “SEND”. Her står hvilket program (CGI-script) på Web-server maskinen, der skal modtage de data, brugeren har tastet ind.
  • Når brugeren har trykket på “SEND” overføres data til Web-serveren (via Internet eller Intranet) og programmet (CGI-scriptet) startet med brugerens indtastede data som parametre (eller environment-variable).
  • Programmet (CGI-scriptet) afvikles og kan gøre med data som det ønsker. Ofte gemmes disse i en database, men det kunne også være, at de indtastede data skulle bruges som søge-data i en database. Et CGI-scripts kan udføre hvad som helst på Web-server maskinen.
  • Undervejs som CGI-scriptet afvikler, kan det opbygge et HTML-dokument, som kan indeholde information til brugere (fx. fundet i en database) eller det kan indeholde fejlmeddelelser, hvis dette er påkrævet.
  • Når CGI-scriptet er afviklet sendes det dynamisk opbyggede HTML-dokument til brugerens Web-browser. Hermed har brugeren været i dialog med det centrale system, og fået udført en operation på dette.
  • CGI-scripts kan skrives i et vilkårligt programmeringssprog, men ofte anvendes Perl. Af andre sprog anvendt til CGI kan nævnes: Python, PL/SQL, shellscripts, C og PHP.

CGI-teknologien giver ingen bindinger til hverken valg af Web-browser eller Web-server, da det er en meget velafprøvet standard.

Det, der ofte er den store udfordring i at designe velfungerende CGI-baserede applikationer, er at både klient og server er tilstandsløse. Derfor skal alle levende data hele tiden overføres mellem klienten og serveren og vice versa.Hvis brugeren har indtastet navn og adgangskode, så skal disse oplysninger transporteres frem og tilbage, indtil brugeren er færdig med sin opgave. Der findes i HTTP-protokollen to metoder til dataoverførelse, nemlig ‘GET’ og ‘POST’. ‘GET’ anvendes af f.eks. Alta Vista’s søgemaskine.

Hvis man søger efter ordet ‘superusers’, vil den første side med søgeresultater have URL’en: http://www.altavista.com/cgi-bin/query?pg=
q&kl=XX&q=superusers&search=Search

Alle de nødvendige oplysninger til søgemaskinen er indeholdt i denne addresse, nemlig:

  • Hvor: www.altavista.com
  • Hvilket program: /cgi-bin/query
  • Data (parametre): pg=q kl=XX q=superusers search=Search

Fordelen ved denne metode, er at man kan bookmark’e en søgning, og den bliver så gemt med alle nødvendige data. Ulempen er, at alle oplysninger er synlige i URL’en og kan direkte manipuleres. ‘POST’-metoden skjuler disse oplysninger i HTTP-protokollens interne kommunikation.

Som nævnt ovenfor er kommunikationen tilstandsløs. Dette kan man komme udenom med brug af såkaldte cookies.  En cookie er en bid information, der gemmes i browseren og som serveren kan anmode om. Cookies er af natur usikre, da det er muligt for andre webservere at læse indholdet.

 
© SuperUsers a/s
SJÆLLAND: Karlebogaard * Karlebovej 91 * DK-3400 Hillerød * Telefax  (+45) 48280705
JYLLAND:
Kampehøjgaard * Krajbjergvej 3 * DK-8541 Skødstrup* Telefax  (+45) 87490705
Telefon (+45) 48280706  *  Email super@superusers.dk  *  URL www.superusers.dk
---
Fejl/Kommentarer vedr. dette website bedes rapporteret til: webmaster@superusers.dk