
Mark Lucas
0
2776
151
CGI står for Fælles gateway-interface. Det er en standardprotokol for webservere til at udføre programmer og generere output til webbrowsere De bedste webbrowsere til Windows De bedste webbrowsere til Windows Hvad er din standardwebbrowser? Selvom vi er forkælet med valg, holder de fleste af os os til de afprøvede store spillere. Hvad er bedre alternativer til ressourcebrug, hastighed og sikkerhed? . Programmet omtales som et CGI-program (eller et CGI-script Spar dig selv tid og indsats ved at automatisere GIMP med scripts. Spar dig selv tid og kræfter ved at automatisere GIMP med manuskripter. Automatisering af handlinger med Python-scripts i GIMP kan spare dig masser af tid. Det er ikke let at komme i gang, men når du først kender disse grundlæggende, er du godt på vej!). Den udføres på webserverens vegne for at producere output, når en bestemt URL anmodes om af brugerens webbrowser.
Fordele ved CGI'er
En CGI forbedrer et websted på mange måder. Begyndende på at autentificere en bruger til at tilbyde en shopping-applikation i fuld skala, er CGI'er kernen i at gøre internettet dynamisk og interaktivt. Følgende er nogle af de vigtigste fordele ved at bruge CGI'er til at forbedre brugeroplevelsen.
- Personaliseret til brugeren: Outputet kan tilpasses hver bruger. For eksempel kan en bruger kontrollere sine bankkontosaldo, som muligvis skal hentes fra databasen.
- Andre typer personalisering: Brugeren bruger muligvis en mobiltelefon til at få adgang til webstedet, og output skal justeres for mobiltelefonopløsningen.
- Foretag opdateringer: En opdatering udføres som et resultat af en formular POST (forklaret nedenfor). For eksempel opdaterer du muligvis din Facebook-status.
- Upload af filer: En fil uploadet af en bruger har brug for en CGI på serveren for at håndtere anmodningen om filoverførsel for at gemme filen på et bestemt sted.
- Genererer output: Ud over output, der vises i browseren, tilbyder mange websteder yderligere former for output, såsom Word-dokument, PDF osv. Nogle af disse dokumenter skal muligvis genereres på farten af CGI'er, såsom din telefonregning eller kreditkortsopgørelse.
Viser statiske filer vs. CGI'er
En HTML-fil 17 enkle HTML-kodeeksempler, du kan lære på 10 minutter 17 Enkle HTML-kodeeksempler, du kan lære på 10 minutter Vil du oprette en grundlæggende webside? Lær disse HTML-eksempler, og prøv dem i en teksteditor for at se, hvordan de ser ud i din browser. (samt JavaScript Java vs. JavaScript: Alt hvad du behøver at vide Java vs. JavaScript: Alt hvad du behøver at vide Java og Javascript deler nogle ting til fælles, men de er mere forskellige fra hinanden end de er ens. I dette post, vi vil udforske nogle af disse forskelle. og CSS 10 enkle CSS-kodeeksempler, du kan lære på 10 minutter 10 enkle CSS-kodeeksempler, du kan lære på 10 minutter. Vi vil undersøge, hvordan du opretter et inline stilark, så du kan øve dig dine CSS-færdigheder. Så går vi over på 10 grundlæggende CSS-eksempler. Derfra er din fantasi grænsen!) serveres direkte af webserveren. Et CGI-program udføres på den anden side af webserveren, når der anmodes om en bestemt URL. Det bruges til at imødekomme anmodninger, der har brug for adgang til dynamisk information, såsom dem, der bor i en database. Et eksempel ville være autentificering af en bruger for at give adgang: brugernavnet og adgangskoden kunne gemmes i en database, og en anmodning om validering af brugeren skulle have adgang til disse oplysninger. Ved service på denne anmodning vil webserveren udføre et CGI-program, der ville søge oplysningerne og validere brugeren.
Konfiguration af webservere
En webserver kører HTTP-serversoftware, der giver mulighed for at servere HTML-filer såvel som at udføre CGI-programmer for at generere output på farten. HTTP-serversoftwaren er konfigureret af webserveradministratoren til at udføre specifikke programmer, når der anmodes om URL'er, der matcher specifikke mønstre.
Udførelse af CGI'er
Når en brugers browser fremsætter en anmodning til en bestemt URL, sender browseren en hel masse information, i form af HTTP-headere og muligvis HTTP-kroppen. Noget af dette kan omfatte:
- Browsertypen
- Brugerens navn, hvis brugeren har logget ind
- Eventuelle cookies, der tidligere er gemt af webserveren
- Formvariabler, hvis anmodningen er en POST-anmodning
Når en CGI udføres for at opfylde denne anmodning, overførte serveren al denne information til CGI-programmet. CGI bruger muligvis nogle af eller alle disse oplysninger til at håndtere anmodningen og personalisere output til brugeren.
Håndtering af formular POST'er
En primær brug af CGI'er er at behandle HTML-formularer.
En HTML-form er en brugerinteraktionsenhed og giver en række forskellige kontroller, så brugeren kan levere input. Når brugeren klikker på a Indsend -knap (eller noget lignende) på formularen, samler webbrowseren oplysningerne i formularen og sender dem til den mål-URL, der er angivet i formularen. Webserveren påberåber på sin side typisk et CGI-program og sender alle input indsamlet fra brugeren. Denne interaktion kaldes en form POST, en teknisk betegnelse, der angiver metoden til at sende formindholdet til CGI. CGI behandler formindholdet og producerer et passende svar, der skal sendes til browseren.
En prøve CGI
Følgende er et eksempel på CGI-program skrevet i python 5 grunde til, at Python-programmering ikke er nytteløs 5 grunde til, at Python-programmering ikke er nytteløs Python - Du elsker enten det, eller du hader det. Du kan endda svinge fra den ene ende til den anden som en pendul. Uanset hvad er Python et sprog, der er svært at være ambivalent med. . Det kan distribueres til en webserver, så den er tilgængelig fra en URL, der ligner: http://www.example.com/cgi-bin/env.cgi. Når den kaldes, rapporterer CGI alle de variabler, den modtog i sit miljø fra webserveren. Dette er omtrent så simpelt, som et CGI-program kan få.
#! / usr / bin / python import os print "Indholdstype: tekst / almindelig \ n" for nøgle i os.environ: print key, "=> \" "", os.environ [key],"" \ """"
Udviklingen af CGI'er
CGI'er har været en del af webservere siden næsten begyndelsen af internettet. Den første nogensinde webserver, NCSA HTTPd webserver, startede med support til kun at servere statiske filer. Efterfølgende blev det erkendt, at eksekvering af et script som svar på en URL-anmodning gjorde det muligt for webserveren at generere dynamisk indhold, og CGI-specifikationen blev født.
De tidligste CGI-programmer var enkle scripts skrevet på et sprog som Perl, TCL, Shell osv. Det kunne også skrives på et kompileret sprog som C / C ++, men dette krævede et yderligere trin med at kompilere programmet for at skabe eksekverbar CGI.
Efterhånden som CGI'er blev mere komplekse, og brugeren kræver øget Oprettelse af webgrænseflader: Hvor skal man begynde at oprette webgrænseflader: Hvor man skal starte Vi viser dig, hvordan webgrænseflader bryder sammen, og påpege derefter de vigtigste koncepter, værktøjer og byggesten der er behov for Lav dig selv en webdesigner fra det 21. århundrede. , blev det erkendt, at oprettelsen af en separat CGI-proces til service på hver anmodning var temmelig for tung med hensyn til hukommelse og CPU-overhead. Især når service på anmodningen tager mindre tid end omkostningen ved at oprette en ny proces.
På dette tidspunkt begyndte webservere at integrere fuldblæst script-tolke, så brugeranmodninger kunne håndteres i en separat tråd inden for en enkelt webserverproces. Dette forbedrede effektiviteten af anmodningsservicen og reducerede responstiderne.
Dette faldt sammen med ankomsten af nye sprog, der er specifikt designet til internettet, såsom PHP. PHP-tolken startede livet som et CGI-program i sig selv. Som en del af behandlingen af anmodning, analyserer den den anmodede fil til PHP-direktiver og udfører kommandoerne deri.
I dag er der ud over CGI-scripts mange teknologier, der bruges til at udføre kode på serveren som svar på en anmodning.
Bruger du CGI-scripts på nogen del af din virksomheds websted? Har du haft nogle særlige problemer med implementering eller vedligeholdelse af CGI-scripts? Diskuter nedenfor i kommentarerne.
"