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:
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