Umhverfisbreytur CGI Tilvísun

Birting: Stuðningur þinn hjálpar til við að halda vefnum í gangi! Við þénum tilvísunargjald fyrir sumar þjónusturnar sem við mælum með á þessari síðu.


Upphaflega var vefurinn aðallega bara kerfi til að senda og taka á móti HTTP beiðnum. Vafrinn myndi biðja um að fá síðu með HTTP beiðni og þjónninn myndi senda síðuna í vafrann.

Á síðunni sjálfri gæti verið hluti eins og tilvísanir í myndir sem vafrinn myndi biðja um með fleiri HTTP beiðnum. Þetta var allt mjög einfalt. En það leyfði netþjóninn ekki að vinna úrvinnslu. Þess vegna var Common Gateway Interface (CGI) þróað.

Með CGI gæti vafrinn sent beiðni með inntak til netþjónsins og CGI forrit myndi senda til baka vefsíðu sem var unnin út frá sendum aðföngum. Taktu snemma dæmi: CGI forrit sem skilaði upplýsingum um efnasambönd.

Vafrinn sendi beiðni til CGI forritsins með efnasambandinu sem notandinn vildi fá upplýsingar um og forritið myndi senda síðu aftur með upplýsingum um það efnasamband til baka.

Að lokum voru forritunarmál netþjóna eins og PHP og Python þróuð, en á þeim dögum var CGI allt sem til var.

Enn, CGI hafði einstaka hæfileika: það var tungumál óháð. Ef netþjónninn gæti keyrt forritið gæti CGI séð um það. Svo það gæti verið saman C ++ forrit eða túlkað Perl handrit eða næstum allt annað.

Í dag eru CGI forrit að mestu leyti arfur. En það eru stundum þar sem það er enn besta leiðin til að leysa vandamál. Við skulum skoða umhverfisbreyturnar sem eru burðarás kerfisins.

Breytur

Ef þú ert að íhuga CGI forritun, þá munu eftirfarandi breytur vera mjög gagnlegar til að meðhöndla ýmsar beiðnir netþjóns um vinnslu eyðublaðsgagna sem leiða til öflugra og fjölhæfra forrita.

Til að fá aðgang að þessum breytum, þá verður þú að sækja færslu úr fjölda gilda sem vísa til umhverfisins. Til dæmis í Perl myndirðu sækja gildi í $ ENV fylkinu með umhverfisbreytulyklum svipuðum eftirfarandi:

$ ENV {$ env_var}

Í ofangreindu útdráttarkóðanum vísar env_var til umhverfisbreytilykils eða strengjalíkra SERVER_NAME. Önnur forritunarmál hafa sín eigin kerfi til að stjórna umhverfisbreytum. Athugaðu tilvísunina fyrir tungumálið þitt.

Hér eru CGI breyturnar og hvað þær gera:

AUTH_TYPE

Sumir netþjónar vernda aðgang að CGI forskriftum með heimild. Breytan AUTH_TYPE vísar til heimildargerðar sem miðlarinn notar til að staðfesta notendur.

Til dæmis gæti mögulegt gildi fyrir þessa breytu verið Basic sem vísar til Basic auðkenningar. Athugaðu að ekki allir netþjónar styðja heimild.

CONTENT_LENGTH

CONTENT_LENGTH gefur lengd efnis sem afhent er í gegnum beiðnina sem fjöldi bæti. Ef lengdin er óþekkt væri breytan stillt á -1.

CONTENT_TYPE

CONTENT_TYPE breytan inniheldur gerð skráarinnar sem er skilað af beiðninni.

Til dæmis, ef óskað er eftir vefsíðu, er CONTENT_TYPE breytan stillt á MIME gerð / html.

GATEWAY_INTERFACE

Ef þú vilt vita hvaða útgáfu af CGI forskriftinni miðlarinn sér um, þá geturðu spurt um GATEWAY_INTERFACE. Þessi breytu mun hjálpa til við að tryggja að þú notir réttan útgáfu af forskriftinni og gildum skipunum.

HTTP_ACCEPT

Rétt eins og CONTENT_TYPE veitir gögnin eða MIME-tegundina sem afhent er, skráir HTTP_ACCEPT allar mögulegar MIME-gerðir sem viðskiptavinur sem leggur fram beiðnina getur samþykkt. Listinn yfir gerðir er aðskilinn með kommum.

HTTP_USER_AGENT

HTTP_USER_AGENT gefur nafn forritsins sem viðskiptavinur notar til að senda beiðnina.

Til dæmis, ef notandi keyrir CGI handrit frá Mozilla Firefox, HTTP_USER_AGENT myndi benda til þess að notandinn hafi beðið um netþjóninn í gegnum Firefox.

PATH_INFO

PATH_INFO breytan inniheldur viðbótarupplýsingar sem sjást á eftir CGI handritsheiti.

Til dæmis, ef þú keyrir www.placeholder.com/cgi-bin/hello.pl/index.html, þá er PATH_INFO fyrir þetta stafirnir sem koma á eftir CGI handritsheiti eða /index.html í þessu dæmi.

PATH_TRANSLATED

Þegar þú slærð inn heimilisfang CGI handrits í vafra skrifarðu venjulega inn sýndarstíg sem er kortlagður á raunverulegan stað á netþjóninum.

Til dæmis, ef þú ferð á http://www.somewebsite.com/cgi-bin/index.cgi og þú ert að spyrja PATH_TRANSLATED breytuna, þá færðu raunverulega líkamlega leiðina. Ef þú ert á sameiginlegum Unix netþjóni gæti það verið /home/placeholder/public_html/cgi-bin/index.cgi.

QUERY_STRING

Algengt er að upplýsingar um fyrirspurnir séu settar á vefslóð eftir spurningamerkinu. Fyrir slóðina http://www.placeholder.com/cgi-bin/hello.cgi?name=Leroy&upphrópun = satt, að biðja um QUERY_STRING myndi skila í name = Leroy&upphrópun = satt er skilað.

REMOTE_ADDR

REMOTE_ADDR breytan gefur IP-tölu viðskiptavinatölvunnar sem leggur fram beiðnina. Í meginatriðum er REMOTE_ADDR REMOTE_HOST leystur á IP-tölu.

REMOTE_HOST

Vefþjónn tekur stöðugt við bæði tengingum og beiðnum frá viðskiptavinum. REMOTE_HOST breytan vísar til hýsingarheils viðskiptavinarins sem framkvæmir beiðnina.

Til dæmis, ef vefþjónustan þinn tekur við beiðni frá webhost2.com, þá yrði REMOTE_HOST búið með webhost2.com.

REMOTE_IDENT

REMOTE_IDENT breytan geymir notandakennið sem keyrir CGI handritið. Notandanafnið er aðeins geymt ef kennsluaðferðin er í gangi þar sem ID skilar svari sem inniheldur ekki aðeins upplýsingar um notandanafnið, heldur einnig nafn OS sem keyrir handritið.

REMOTE_USER

Fyrirspurn um REMOTE_USER breytuna gefur upplýsingar um notandanafn þess aðila sem leggur fram beiðnina. Þetta er aðeins gilt ef staðfesting er virk.

REQUEST_METHOD

REQUEST_METHOD gefur gerð HTTP beiðni lokið sem inniheldur gildi eins og GET, POST og PUT.

SCRIPT_NAME

Ef í staðinn, viltu fá sýndarstíg handritsins sem er keyrð, getur þú einfaldlega fyrirspurn SCRIPT_NAME breytuna.

Til dæmis ef þú keyrir handritið http://www.placeholder.com/cgi-bin/ping.sh og sækir SCRIPT_NAME færðu sýndarstíg handritsins eða /cgi-bin/ping.sh.

SERVER_NAME

SERVER_NAME breyturnar gefa fullt nafn netþjónsins.

Til dæmis, ef þú ert að spyrja um þessa breytu, verður niðurstaðan lén nafnsins – eitthvað eins og www.placeholder.com.

SERVER_PORT

Sérhver netþjónn sem keyrir á vefnum hefur bæði heimilisfang og höfn. Miðlarinn notar tengi til að taka við tengingum og hlusta á beiðnir. Hefðbundin höfn er 80 en hún getur verið önnur númer – sérstaklega fyrir sérhæfð forrit. Fyrirspurn um breytu SERVER_PORT mun leiða til þess að gildi hlustunargáttarinnar.

SERVER_PROTOCOL

Þú getur fundið út hvaða samskiptareglur netþjónn notar til að takast á við beiðnir.

Til dæmis, ef netþjónninn sem þú ert að vinna með notar HTTP samskiptareglur mun hann skila streng eins og „HTTP / 1.1“ sem þýðir að netþjónninn notar HTTP útgáfu 1.1. Í grundvallaratriðum er strengurinn sem skilað er í sniðinu siðareglur / útgáfa.

SERVER_SOFTWARE

Umhverfisbreytan SERVER_SOFTWARE inniheldur nafn og útgáfu hugbúnaðarins sem keyrir á vefþjóninum.

Til dæmis, ef þú sendir gildi þessarar breytu og ert að keyra útgáfu af Apache, gætirðu fengið eitthvað svipað eftirfarandi:

Apache 2.4.25

Niðurstaða

Eitt af fyrstu skrefunum sem þú getur tekið til að skilja CGI eða HTTP siðareglur er að kynna þér undirliggjandi breytur og setningafræði. Þetta felur í sér umhverfisbreyturnar sem eru rétt lýst.

Þó að CGI sé sjaldan notað í dag, þá nota mörg núverandi tungumál fyrir vefþróun eins og PHP einnig margar af þessum breytum. Þess vegna mun þú læra þau einnig hjálpa þér við að skrifa öflug forrit jafnvel á núverandi tungumálum á vefnum.

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