Uputa za varijable okoline CGI

Objava: Vaša podrška pomaže održavanju web mjesta! Naplaćujemo naknadu za preporuku za neke usluge koje preporučamo na ovoj stranici.


U početku je web bio uglavnom samo sustav za slanje i primanje HTTP zahtjeva. Preglednik će tražiti da mu se pošalje stranica s HTTP zahtjevom, a poslužitelj će je poslati u pregledniku.

Sama stranica može sadržavati stvari poput referenci na slike koje bi preglednik tražio s više HTTP zahtjeva. Sve je bilo vrlo jednostavno. Ali poslužitelj nije dozvolio da obradu. Kao rezultat toga, razvijeno je zajedničko sučelje Gateway (CGI).

Pomoću CGI-a, preglednik može poslati zahtjev s ulazima na poslužitelj, a CGI program će poslati web stranicu koja se obrađuje na temelju poslanih ulaza. Uzmi rani primjer: CGI program koji je vratio informacije o kemijskim spojevima.

Preglednik bi poslao zahtjev CGI programu sa spojem o kojem je korisnik želio podatke, a program će poslati stranicu ispunjenu informacijama o tom spoju.

Na kraju su razvijeni programski jezici za poslužitelje poput PHP i Python, ali u te dane je CGI bio tu.

Ipak, CGI je imao jedinstvenu sposobnost: bio je neovisan o jeziku. Ako bi poslužitelj mogao pokrenuti program, CGI bi mogao to podnijeti. Dakle, to bi mogao biti sastavljeni C ++ program ili interpretirana Perl skripta ili gotovo bilo što drugo.

Danas su CGI programi uglavnom naslijeđeni. Ali, postoje slučajevi kada je to još uvijek najbolji način za rješenje problema. Pogledajmo bliže varijable okoline koje su okosnica sustava.

Varijable

Ako razmišljate o CGI programiranju, sljedeće varijable bit će vrlo korisne za rukovanje različitim zahtjevima poslužitelja za obradu podataka obrasca što rezultira snažnim i svestranim programima.

Da biste pristupili ovim varijablama, morate dohvatiti unos iz niza vrijednosti koji se odnose na okruženje. Na primjer, u Perlu, preuzeli biste vrijednosti u nizu $ ENV pomoću ključeva varijable okoline sličnih sljedećem:

$ ENV {$} env_var

U gornjem izvaku koda env_var se odnosi na ključ varijable okoline ili na SERVER_NAME nalik nizu. Ostali programski jezici imaju vlastite sustave za upravljanje varijablama okoline. Provjerite referencu za svoj određeni jezik.

Ovdje su CGI varijable i što rade:

AUTH_TYPE

Neki web poslužitelji štite pristup CGI skriptu autorizacijom. Promjena AUTH_TYPE odnosi se na vrstu autorizacije koju poslužitelj koristi za provjeru korisnika.

Na primjer, moguća vrijednost za ovu varijablu može biti Basic koja se odnosi na Basic provjeru autentičnosti. Imajte na umu da svi poslužitelji ne podržavaju autorizaciju.

CONTENT_LENGTH

CONTENT_LENGTH daje duljinu sadržaja isporučenog putem zahtjeva kao broj bajtova. Ako je duljina nepoznata, varijabla bi bila postavljena na -1.

CONTENT_TYPE

Promjena CONTENT_TYPE sadrži vrstu datoteke koju vraća zahtjev.

Na primjer, ako se traži web stranica, varijabla CONTENT_TYPE bit će postavljena na MIME vrstu teksta / html.

GATEWAY_INTERFACE

Ako želite znati s kojom se verzijom CGI specifikacije poslužitelj bavi, tada možete zatražiti GATEWAY_INTERFACE. Ova će vam varijabla pomoći da osigurate da koristite ispravnu verziju specifikacije i valjane naredbe.

HTTP_ACCEPT

Baš kao što CONTENT_TYPE isporučuje podatke ili MIME vrstu koji se dostavljaju, tako HTTP_ACCEPT navodi sve moguće MIME tipove koje klijent koji je poslao zahtjev može prihvatiti. Popis vrsta odvojen je zarezima.

HTTP_USER_AGENT

HTTP_USER_AGENT daje naziv programa koji klijent koristi za slanje zahtjeva.

Na primjer, ako korisnik izvrši CGI skriptu iz Mozilla Firefox-a, HTTP_USER_AGENT bi značio da je korisnik putem Firefoxa poslao zahtjev na web poslužitelj.

PATH_INFO

Promjena PATH_INFO sadrži dodatne informacije koje se vide nakon naziva skripte CGI.

Na primjer, ako izvršite www.placeholder.com/cgi-bin/hello.pl/index.html, tada bi PATH_INFO za to bili znakovi koji dolaze nakon naziva skripte CGI ili /index.html u ovom primjeru.

PATH_TRANSLATED

Kada upišete adresu CGI skripte u web-preglednik, obično upišete virtualni put koji je preslikan na fizičku lokaciju na poslužitelju.

Na primjer, ako odete na http://www.somewebsite.com/cgi-bin/index.cgi i upitate varijablu PATH_TRANSLATED, dobit ćete stvarni fizički put. Ako se nalazite na zajedničkom Unix poslužitelju, to bi mogao biti /home/placeholder/public_html/cgi-bin/index.cgi.

QUERY_STRING

Uobičajeno je vidjeti podatke o upitu pridruženima URL-u nakon upitnika. Za URL http://www.placeholder.com/cgi-bin/hello.cgi?name=Leroy&uskličnik = istina, traženje upita QUERY_STRING vratilo bi se u ime = Leroy&uzvik = istinito vraćanje.

REMOTE_ADDR

Promjena REMOTE_ADDR daje IP adresu klijentskog računala koje podnosi zahtjev. REMOTE_ADDR je REMOTE_HOST u osnovi riješen na IP adresu.

REMOTE_HOST

Web poslužitelji neprestano prihvaćaju i veze i zahtjeve klijenata. Promjena REMOTE_HOST odnosi se na ime računala klijenta koji izvršava zahtjev.

Na primjer, ako vaš webhost prihvati zahtjev od webhost2.com, tada REMOTE_HOST popunjava webhost2.com.

REMOTE_IDENT

Promjena REMOTE_IDENT pohranjuje korisnički ID koji izvodi CGI skriptu. Korisnički ID pohranjuje se samo ako se ident postupak pokreće jer ident vraća odgovor koji sadrži ne samo podatke o ID-u korisnika, već i ime OS-a koji pokreće skriptu..

REMOTE_USER

Upitom za varijablu REMOTE_USER dat će se podaci o korisničkom imenu subjekta koji je podnio zahtjev. To vrijedi samo ako je omogućena provjera autentičnosti.

REQUEST_METHOD

REQUEST_METHOD daje tip HTTP zahtjeva završen koji uključuje vrijednosti poput GET, POST i PUT.

SCRIPT_NAME

Ako umjesto toga želite dobiti virtualni put skripte koja se izvršava, jednostavno možete zatražiti SCRIPT_NAME varijablu.

Na primjer, ako pokrenete skriptu http://www.placeholder.com/cgi-bin/ping.sh i preuzmete SCRIPT_NAME, dobit ćete virtualni put skripte ili /cgi-bin/ping.sh.

ime_poslužitelja

Varijable SERVER_NAME daju puno ime vašeg poslužitelja.

Na primjer, ako zatražite ovu varijablu, rezultat će biti naziv domene web mjesta – nešto poput www.placeholder.com.

SERVER_PORT

Bilo koji poslužitelj na webu ima i adresu i priključak. Poslužitelj koristi priključak za prihvaćanje veza i preslušavanje zahtjeva. Standardni priključak je 80, ali mogu biti i drugi brojevi – posebno za specijalizirane aplikacije. Upiti varijable SERVER_PORT rezultirat će vrijednošću priključka za slušanje.

SERVER_PROTOCOL

Možete saznati koji se protokol koristi za obradu zahtjeva.

Na primjer, ako poslužitelj s kojim radite koristi HTTP protokol, vratit će niz poput “HTTP / 1.1” što znači da poslužitelj koristi HTTP verziju 1.1. U osnovi se vraćeni niz nalazi u protokolu / verziji formata.

SERVER_SOFTWARE

Varijabla okruženja SERVER_SOFTWARE sadrži ime i verziju softvera koji radi na web poslužitelju.

Na primjer, ako izlazite vrijednost ove varijable i pokrećete verziju Apache, možete dobiti nešto slično sljedećem:

Apache 2.4.25

Zaključak

Jedan od prvih koraka koji možete poduzeti za razumijevanje CGI-a ili HTTP protokola je upoznavanje s temeljnim varijablama i sintaksom. To uključuje samo opisane varijable okoline.

Iako se CGI danas rijetko koristi, mnogi trenutačni jezici web razvoja poput PHP-a također koriste mnoge od tih varijabli. Kao rezultat toga, učenje će vam također pomoći da napišete robusne programe, čak i za trenutne jezike za web razvoj.

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