Common Gateway Interface

Common Gateway Interface is een belangrijke technologie van het World Wide Web waarmee een client gegevens opvragen van een programma dat op een webserver. CGI specificeert een standaard voor de overdracht van gegevens tussen de cliënt en het programma. Het is een mechanisme van de communicatie tussen de webserver en een externe applicatie waarvan de uiteindelijke resultaat zijn MIME objecten. De toepassingen die op de server worden CGI genoemd.

CGI-toepassingen waren een van de eerste praktijken om dynamische content voor webpagina's te creëren. In een CGI-toepassing, web-server passeert verzoeken van de cliënt om een ​​extern programma. Dit programma kan geschreven in een taal die de server ondersteunt, maar om redenen van draagbaarheid veelgebruikte scripttalen. De uitvoer van het programma wordt aan de klant in plaats van de traditionele statische bestand verzonden.

CGI heeft mogelijk gemaakt van de implementatie van nieuwe en gevarieerde functies in webpagina's, zodat deze interface werd al snel een standaard, in alle vormen van web-servers worden uitgevoerd.

Werkingsmechanisme van CGI

Dan is de werking van een CGI schematisch beschreven:

  • Ten eerste, de server ontvangt het verzoek en controleert of het een aanroep van een CGI.
  • Vervolgens heeft de server bereidt de omgeving voor het uitvoeren van de applicatie. Deze informatie komt meestal uit de klant.
  • Dan start de applicatie-server, het vastleggen van de standaard output.
  • Vervolgens voert de toepassing zijn functie als gevolg van zijn activiteit genereert een MIME dat de aanvraag schrijft naar de standaard uitvoer object.
  • Tot slot, wanneer de toepassing eindigt, de server stuurt de geproduceerde informatie, samen met bedrijfseigen informatie, klant, die op stand-by was. Het is de verantwoordelijkheid van de aanvraag bij de MIME type object dat wordt gegenereerd te kondigen.

CGI programmering

Een CGI-programma kan worden geschreven in een programmeertaal die een uitvoerbaar bestand produceert. Enkele veel voorkomende talen zijn C, C ++, Perl, Java, Visual Basic ... Echter, omdat de CGI ontvangt parameters tekst nuttig zijn een taal die manipulaties van de snaren laat een eenvoudige manier, zoals Perl. Perl is een geïnterpreteerde taal die eenvoudige behandeling van dossiers en teksten en de extractie en manipuleren van tekenreeksen maakt, samen met enkele snelle en eenvoudige zoekopdrachten.

Informatie-uitwisseling: Omgevingsvariabelen

De volgende zijn omgevingsvariabelen die verder gaan door de CGI-programma's:

  • Server specifieke variabelen:
    • SERVER_SOFTWARE naam en versie van de webserver.
    • SERVER_NAME naam van de server, kan het een IP-adres zijn.
    • GATEWAY_INTERFACE CGI versie.
  • Verzoek om specifieke variabelen:
    • SERVER_PROTOCOL TCP-versie.
    • REQUEST_METHOD naamachtervoegsel pad methode.
    • PATH_TRANSLATED is het volledige pad van de server, indien PATH_INFO aanwezig is.
    • SCRIPT_NAME route op het programma. Voorbeeld: /cgi-bin/script.cgi.
    • QUERY_STRING deel van de URL na ?. de query string kan bestaan ​​uit * name = waarde van elkaar gescheiden door de ep karakter wordt gebruikt om gegevens van een webformulier met behulp van de methode GET sturen.
    • REMOTE_HOST cliënt hostname
    • REMOTE_ADDR IP-adres van de client.
    • AUTH_TYPE identificatie.
    • REMOTE_USER variabele gebruikt voor bepaalde typen verificatie.
    • REMOTE_IDENT variabele om wat TCP-verbindingen te identificeren.
    • CONTENT_TYPE type toepassing inhoud.
    • CONTENT_LENGTH grootte van de ingevoerde gegevens.
    • De variabelen die verder gaan door de klant user agent met waarden die overeenkomen headers zodat uw gegevens niet verandert.

Voorkomende vormen van CGI

  • Toegang teller: Tel het aantal keren dat een bepaalde pagina heeft opgevraagd. De waarde wordt opgeslagen in een bestand. Elke keer wordt opgeroepen toeneemt, om later te bekijken.
  • Zoeken: Vind pagina's die de opgegeven termen bevatten. Gebruik een tabel met de woorden en voor elke specifieke pagina's waar je bent.
  • E-mail: Get gebruiker gestructureerde informatie.
  • Bijdragen: koppelingen of aantekeningen naar een pagina waarin de oorsprong van de toevoeging toevoegen.
  • Gebruiksstatistieken: Geeft informatie over de gebeurtenissen in de server De server houdt een verslag van de gebeurtenissen die hebben plaatsgevonden.
  • Remote Server Administration: Maakt interactie met de server van een beroep doet op de programma's die controleren of server gedrag aan te passen.

Activeringsstap van een CGI

  • Initiële situatie: De klant vraagt ​​om een ​​CGI aanroeping, hetzij per ongeluk of zo expliciet. Er zijn paren in de vorm van variabele = waarde. De methode die in de vorm kan zijn GET of POST.
    Op de server aan de andere kant, het configuratiebestand specificeert een cgi-bin directory met de mogelijkheid om programma's te draaien. Er kunnen andere bestanden en andere programma's die toegang tot de server en de CGI.
  • De klant klikt op de knop in te dienen van het type formulier: Afhankelijk van de methode een bericht met het formulier gegevens in de koptekst of bericht lichaam is opgebouwd. Het bericht wordt verzonden naar de server, het toevoegen van eigen informatie over klanten, dat de browser zelf bekend. De klant is wachten om een ​​MIME object server beantwoord worden.
  • De server ontvangt het verzoek bericht en start de CGI-programma: de server vergelijkt de informatie in het bericht dat het configuratiebestand kent, het vaststellen van de geldigheid van het verzoek. Eigenlijk is de server vraagt: Is deze URL? Zijn alle machtigingen zijn ze?.
    Bereid het milieu door het toevoegen van eigen informatie door de klant browser gecommuniceerd. Als GET, de informatie van het formulier bedoeld in QUERY_STRING. De server werkt dan de CGI. Als het POST, wordt de informatie geplaatst in de standaard input van CGI. Eindelijk uitvoering CGI begint en de server wacht op het eindigt.
  • Uitvoering van CGI: CGI toegang omgevingsvariabelen. Controleer of de aanpassing van de operatie volgens de GET of POST methode van REQUEST_METHOD stellen: als het te krijgen, zal de informatie in QUERY_STRING, terwijl als het POST, zal de standaard invoer worden genomen.

Een MIME-object dat naar de klant gestuurd wordt gebouwd. De eerste schriftelijk moet het type object CONTENT_TYPE kondigen: het type / subtype.

  • De server weer aan het werk: de server toevoegt aan hun CGI response header aangeeft zijn grootte.
  • De klant ontvangt het antwoord: Interpretatie van de respons. Het bekijken van de browser.
(0)
(0)
Volgende artikel Carlos Souto Vidal

Commentaren - 0

Geen reacties

Voeg een Commentaar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tekens over: 3000
captcha