Common Gateway Interface (CGI) Miljøvariabler Reference

Afsløring: Din support hjælper med at holde webstedet kørt! Vi tjener et henvisningsgebyr for nogle af de tjenester, vi anbefaler på denne side.


Oprindeligt var nettet for det meste kun et system til at sende og modtage HTTP-anmodninger. En browser vil bede om at blive sendt en side med en HTTP-anmodning, og serveren ville sende siden til browseren. Selve siden kan indeholde ting som henvisninger til billeder, som browseren vil bede om med flere HTTP-anmodninger. Det hele var meget enkelt. Men det tillod ikke, at behandlingen kunne udføres af serveren. Som et resultat blev Common Gateway Interface (CGI) udviklet.

Med CGI kunne en browser sende en anmodning med input til serveren, og et CGI-program vil sende en webside tilbage, der blev behandlet baseret på de sendte input. Tag et tidligt eksempel: et CGI-program, der returnerede information om kemiske forbindelser. Browseren ville sende en anmodning til CGI-programmet med det stof, som brugeren ønskede data om, og programmet ville sende en side fyldt med information om denne forbindelse tilbage.

Til sidst blev serverprogrammeringssprog som PHP og Python udviklet, men i disse dage var CGI alt, hvad der var. CGI havde stadig en unik evne: det var sproguafhængigt. Hvis serveren kunne køre programmet, kunne CGI håndtere det. Så det kan være et samlet C ++ -program eller et fortolket Perl-script eller næsten alt andet.

I dag er CGI-programmer for det meste arv. Men der er tidspunkter, hvor det stadig er den bedste måde at løse et problem på. Lad os se nærmere på de miljøvariabler, der er rygraden i systemet.

Variable

Hvis du overvejer CGI-programmering, vil de følgende variabler være meget nyttige til håndtering af forskellige serveranmodninger til behandling af formdata, hvilket resulterer i kraftfulde og alsidige programmer. For at få adgang til disse variabler skulle du hente en post fra en række værdier, der henviser til miljøet. For eksempel i Perl henter du værdier i $ ENV-arrayet ved hjælp af miljøvariabeltaster, der ligner følgende:

$ ENV {$ env_var}

I ovenstående kodeuddrag henviser env_var til en miljøvariabelnøgle eller -streng som SERVER_NAME. Andre programmeringssprog har deres egne systemer til styring af miljøvariabler. Tjek referencen til dit særlige sprog.

Her er CGI-variablerne, og hvad de gør:

AUTH_TYPE

Nogle webservere beskytter adgang til CGI-scripts ved hjælp af autorisation. Variablen AUTH_TYPE henviser til den autorisationstype, som serveren bruger til at verificere brugere. For eksempel kan en mulig værdi for denne variabel være Grundlæggende under henvisning til Grundlæggende godkendelse. Bemærk, at ikke alle servere understøtter autorisation.

CONTENT_LENGTH

CONTENT_LENGTH giver længden på det indhold, der leveres gennem anmodningen, som antal bytes. Hvis længden er ukendt, vil variablen blive sat til -1.

INDHOLDSTYPE

Varianten CONTENT_TYPE indeholder den filtype, der returneres af anmodningen. Hvis der f.eks. Anmodes om en webside, vil CONTENT_TYPE-variablen blive indstillet til MIME-typen tekst / html.

GATEWAY_INTERFACE

Hvis du vil vide, hvilken version af CGI-specifikationen serveren håndterer, kan du spørge GATEWAY_INTERFACE. Denne variabel hjælper dig med at sikre, at du bruger den rigtige version af specifikationen og gyldige kommandoer.

HTTP_ACCEPT

Ligesom CONTENT_TYPE leverer de data eller MIME-type, der leveres, viser HTTP_ACCEPT alle de mulige MIME-typer, som en klient, der anmoder om, kan acceptere. Listen over typer adskilles med kommaer.

HTTP_USER_AGENT

HTTP_USER_AGENT giver navnet på det program, som en klient bruger til at sende anmodningen. Hvis en bruger f.eks. Udfører et CGI-script fra Mozilla Firefox, vil HTTP_USER_AGENT indikere, at brugeren fremsatte en anmodning til webserveren via Firefox.

PATH_INFO

Variablen PATH_INFO indeholder yderligere oplysninger, der ses efter CGI-scriptnavnet. Hvis du f.eks. Udfører www.placeholder.com/cgi-bin/hello.pl/index.html, vil PATH_INFO for dette være de tegn, der kommer efter CGI-scriptnavnet eller /index.html i dette eksempel.

PATH_TRANSLATED

Når du skriver en adresse på et CGI-script i en webbrowser, skriver du normalt en virtuel sti, der er kortlagt til en fysisk placering på serveren. Hvis du f.eks. Går til http://www.somewebsite.com/cgi-bin/index.cgi og du spørger om variablen PATH_TRANSLATED, får du den faktiske fysiske sti. Hvis du er på en delt unix-server, kan det være /home/placeholder/public_html/cgi-bin/index.cgi.

web-hosting-kupon

Brug for CGI-adgang til hosting?
GreenGeeks scorede meget godt i vores hastighed og ydeevne test. Læsere kan i øjeblikket spare op til 60% på deres planer. Brug dette specielle rabatlink
at få aftalen.

QUERY_STRING

Det er almindeligt at se forespørgselsinformation knyttet til en URL efter spørgsmålstegnet. For URL’en http://www.placeholder.com/cgi-bin/hello.cgi?name=Leroy&udråb = sandt, hvis du anmoder om QUERY_STRING ville returnere i name = Leroy&udråb = sandt returneres.

REMOTE_ADDR

REMOTE_ADDR-variablen giver IP-adressen på klientcomputeren, der anmoder om. Grundlæggende er REMOTE_ADDR REMOTE_HOST løst til en IP-adresse.

REMOTE_HOST

Webservere accepterer konstant både forbindelser og anmodninger fra klienter. REMOTE_HOST-variablen henviser til værtsnavnet på den klient, der udfører anmodningen. Hvis din webhost f.eks. Accepterer en anmodning fra webhost2.com, ville REMOTE_HOST blive befolket med webhost2.com.

REMOTE_IDENT

REMOTE_IDENT-variablen gemmer bruger-ID, der kører CGI-scriptet. Bruger-ID gemmes kun, hvis ident-processen kører, da ident returnerer et svar, der ikke kun indeholder bruger-ID-oplysninger, men også navnet på det operativsystem, der kører scriptet.

REMOTE_USER

Forespørgsel om REMOTE_USER-variablen giver brugernavn information om den enhed, der fremsætter anmodningen. Dette er kun gyldigt, hvis godkendelse er aktiveret.

REQUEST_METHOD

REQUEST_METHOD giver typen af ​​afsluttet HTTP-anmodning, der inkluderer værdier som GET, POST og PUT.

SCRIPT_NAME

Hvis du i stedet ønsker at få den virtuelle sti til scriptet, der udføres, kan du blot forespørge SCRIPT_NAME-variablen. Hvis du f.eks. Kører scriptet http://www.placeholder.com/cgi-bin/ping.sh og henter SCRIPT_NAME, får du scriptets virtuelle sti eller /cgi-bin/ping.sh.

SERVER NAVN

SERVER_NAME-variablerne giver serverens fulde navn. Hvis du f.eks. Spørger efter denne variabel, vil resultatet være webstedets domænenavn. For eksempel noget som www.placeholder.com.

SERVER_PORT

Enhver server, der kører på nettet, har både en adresse og en port. Serveren bruger en port til at acceptere forbindelser og lytte til anmodninger. Standardporten er 80, men det kan være andre numre – især til specialiserede applikationer. Forespørgsel om SERVER_PORT-variablen vil resultere i værdien på lytteporten.

SERVER_PROTOCOL

Du kan finde ud af, hvilken protokol en server bruger til at håndtere anmodninger. For eksempel, hvis den server, du arbejder med, bruger HTTP-protokollen, returnerer den en streng som “HTTP / 1.1”, hvilket betyder, at serveren bruger HTTP version 1.1. Grundlæggende er den returnerede streng i formatprotokollen / versionen.

SERVER_SOFTWARE

SERVER_SOFTWARE-miljøvariablen indeholder navnet og versionen af ​​softwaren, der kører på webserveren. Hvis du f.eks. Udsender værdien af ​​denne variabel, og du kører en version af Apache, får du muligvis noget, der ligner følgende:

Apache 2.4.25

Konklusion

Et af de første skridt, du kan tage for at forstå CGI eller HTTP-protokollen, er at gøre dig bekendt med de underliggende variabler og syntaks. Dette inkluderer de netop skitserede miljøvariabler. Selvom CGI sjældent bruges i dag, bruger mange aktuelle webudviklingssprog som PHP også mange af disse variabler. Som et resultat vil det at lære dem også hjælpe dig med at skrive robuste programmer, selv for aktuelle sprog til webudvikling.

Yderligere læsning og ressourcer

Vi har flere guider, tutorials og infografik relateret til kodning og udvikling:

  • PHP-introduktion og ressourcer: dette er et af de største kodesprog på nettet.
  • CGI Primer: kom i gang med CGI-basics.
  • CGI-vejledninger og ressourcer: Find ud af, hvordan man tager CGI så langt det kan gå.

Hvilken kode skal du lære?

Forvirret over hvilket programmeringssprog du skal lære at kode i? Se vores infographic, hvilken kode skal du lære? Det diskuterer ikke kun forskellige aspekter af sprogene, det besvarer vigtige spørgsmål som ”Hvor mange penge vil jeg tjene til programmering af PHP til levevis?”

Hvilken kode skal du lære?
Hvilken kode skal du lære?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map