HTTP kérés fejléc változók

A már megnevezett HTTP kérés fejlécét tartalmazó sorok kivételével a kiszolgáló hozzáadja a HTTP_ előtagot a sorokhoz, és a "_" karaktereket helyettesítik: '-':

HTTP_ACCEPT - Biztosítja a kérést a szerver böngésző általában kiszámítja információt egy bizonyos méret, és, hogy ő jelzi a kérelem fejlécében elfogadás: mezőben van a script megy listája a MIME, amely a böngésző hajlandó elfogadni, mint a válasz a szervertől.

HTTP_USER_AGENT - A böngésző általában információkat küld magáról a kiszolgálóra, így az adott böngészők jellemzőinek és hiányosságainak ismeretében a CGI parancsfájl ezzel kapcsolatban információt szolgáltathat. Például a különböző böngészők esetleg nem támogatnak semmilyen HTML-címkét.

És körülbelül 30 másik van.

A CGI parancsfájl az operációs rendszer funkciói révén hozzáfér a változások értékeihez (különböző operációs rendszerekben ez különböző módon valósul meg), így a CGI parancsfájl kimerítő információt kap a HTTP kérelemről. És a kérelem teste (ha természetesen ott van) megy a STDIN (standard input stream) scripthez. A (z) CONTENT_LENGTH byte mérete.

CGI program válasz fejléc

Most azt fogjuk megtudni, hogy a CGI-parancsfájl a CGI-szempontból hogyan küldjön információkat a webkiszolgálónak.

Ha a CGI-parancsfájl vissza szeretne küldeni valamit, akkor ezt a következőképpen kell végrehajtania. Minden kimenetet az STDOUT parancsfájlba kell helyezni. Ebben az esetben egy CGI fejlécnek (CGI-fejlécnek) kell lennie. A CGI fejléc tartalmazhat a következő mezőket:

Tartalomtípus: - Legyen jelen, ha van válaszadó testület. Megadja a válasz MIME típusát.

Hely: - Meg kell adnia az erőforrás URL-címét, amelyre a kérés átirányításra kerül, rendszerint ebben az esetben semmi sem jelez (mert a kérelem átirányításra kerül egy másik kiszolgálóra)

Állapot: - Tartalmazza a CGI parancsfájl kilépési kódját. Ha nincs megadva, akkor feltételezzük, hogy 200 Ok

Például: Állapot: 404 Nem található

A CGI fejléc után üres sztring kerül az STDOUT-ba, amely elválasztja a fejlécet a válasz szervtől. És miután elküldte a válasz tényleges testét, amelynek típusát a Tartalomtípus (kép, HTML szöveg vagy egyéb) határozta meg.

A webkiszolgáló STDOUT-on keresztül fogadja a CGI-script formanyomtatványokból kapott információkat HTTP-válaszának alapján, amelyet az ügyfélnek (böngészőnek) küldenek.

NPH szkriptek

Meg kell mondani, hogy maga a CGI parancsfájl teljesen HTTP-válaszokat generálhat a webszerver részvétele nélkül. Az ilyen CGI-parancsfájlokat nem-parsed-headers-nek nevezik. és hogy a nevüknek egy előtaggal - "nph-" vagy Windows-orientált webszerverekkel kell kezdődnie, az STDOUT első sorának "HTTP / 1.0" -nak kell lennie. azaz HTTP protokoll verzióját, akkor a kiszolgáló feltételezi, hogy ez a CGI parancsfájl NFS CGI parancsfájl lesz.

Paraméterek átadása a CGI parancsfájlnak

A CGI parancsfájl átveheti a paramétereket. Ennek szintaxisa: ?Param1Param2 = értékParam + 2b% 20% 5B% 5C% 5D% 5E. hol. - azt jelenti, hogy a további adatokat paraméterként kezelik; - ez a szimbólum elválasztja a paramétereket egymástól; % - miután ez a karakter a 16. karakterkódhoz jött, ez azért szükséges, mert nem minden karakter használható a parancssorban, és a% -al megadhatsz minden karaktert; + - megad egy szóközt (a szóközöket nem lehet explicit módon használni a parancssorban); A paraméterek két részre oszthatók névvel és értékkel az egyenlő jel használatával (a kényelem érdekében). A paraméterek a HTTP kérés módjától függően átkerülnek a CGI parancsfájlba (amikor a GET a parancssorhoz van csatolva, és amikor a POST a STDIN parancs kérésének teste). A paraméterek használatát részletesebben a HTML formákra írja le.

Példa egy CGI szkriptre (Pascalban írt egy példát, mert szerintem szinte mindenki ismeri a Pascalt).

Fordítsd össze ezt a programot (az operációs rendszer fordítóprogramját használva). Helyezze a szerver / cgi-bin könyvtárába. És próbálja meg elindítani (a böngészőből megadva annak URL-jét). Küld egy Hello World üdvözletet.

CGI-parancsfájlok alkalmazása

Most nézzük meg a CGI-parancsfájlok néhány alkalmazását.

Először is, a CGI-t a HTML formák feldolgozása során használják. Szintén látogatószámlálók, vendégkönyvek és csevegő rendszerek létrehozásához.

A CGI használatával animációkat hozhat létre

Valójában az animáció létrehozása lehet tucatnyi módon a web-oldalak. Nézzük meg, hogyan lehet ezt megtenni CGI. Készítsünk programot, amely megjeleníti egy sorozat több képet (ugyanazon az elven, mint az animált GIF) a maximális sebesség fogja használni NPH-CGI - forgatókönyv, és használja a többoldalas MIME c helyett az előző oldalra. Ábrák kell tárolni a neve megegyezik a tömb a fájl PROSCALE.

Fordítsd össze ezt a programot (az operációs rendszer fordítóprogramját használva). Helyezze a szerver / cgi-bin könyvtárába. Ezután a HTML dokumentumban adja hozzá a következő címkét:

ISMAP képek

Tekintsünk még egy CGI alkalmazást - ismap képek. Mondjuk, hogy a HTML dokumentumban a következő sor van:

Nos, hogyan kell használni, csak a képzeletedtől függ.

HÍREK A FORUM
Az éter elméletének lovagjai