A globális szerverváltozók segítségével összehangolhatjuk az ASP
oldalaink működését, valamint lekérdezhetünk néhány fontos adatot a szerverrel,
illetve az aktuális látogatóval kapcsolatban.
Mik is ezek a szerverváltozók
A szerverváltozók olyan globálisan – bármely ASP lapból – elérhető adatok, amiket a szerver őriz és a szerver beállításait, vagy az adott látogató rendszerkörnyezetét tartalmazza. Lekérdezhetjük pl., hogy a szerver milyen szoftvert futtat, vagy hogy a látogató milyen böngészőt használ. Nyomon is tudjuk követni a látogatót, mivel a kapcsolódó kliens gép (vagy bizonyos esetekben csak a proxy szerver) IP címe is egyszerűen lekérdezhető. Ez utóbbi főleg akkor lehet hasznos, ha látogató statisztikát szeretnénk készíteni. Mivel egy látogató általában nem csak egy lapot tölt le a szerverről, az IP címek ismeretében ki tudjuk szűrni, hogy ki az új látogató és ki az, aki csak egy újabb lapot töltött le.
Hogyan kérdezzük le ezeket a változókat?
A szerverváltozókra a nevükkel hivatkozhatunk. Fontos, hogy a pontos nevet adjuk meg, különben nem kapjuk meg a kért adatot. Az alábbi sor lekérdezi és az IPCIM változóba tölti a kapcsolódó kliens gép IP címét (vagy a proxy szerverét):
IPCIM = Request.Servervariables("REMOTE_ADDR")
A fontosabb szerverváltozók
Az alábbiakban felsorolom a fontosabb szerverváltozókat, amikre szükségünk lehet ASP alkalmazásaink fejlesztése során, némi megjegyzés mellett. A megadott változóneveket egyszerűen be kell helyettesíteni a fenti példába a REMOTE_ADDR helyére.
LOCAL_ADDR: A szervergép IP címét adja meg.
PATH_INFO: Az adott script elérési útját adja meg (a szerver-gyökérhez viszonyított relatív elérési út).
QUERY_STRING: A querystring-et* adja meg egyben, tehát nem bontja le paraméterekre.
REMOTE_ADDR: A kapcsolódó gép IP címét adja meg. Ha a látogató proxy szerveren keresztül hívta le az oldalt, akkor itt a proxy szerver IP címe fog szerepelni.
REQUEST_METHOD: Ez főleg űrlapok feldolgozásakor lehet hasznos. Azt adja meg, hogy az utolsó kérés GET vagy POST módban történt-e.
SERVER_NAME: A szervergép neve. Általában itt a szerver szoftver alap (gyökér) címe van megadva.
SERVER_SOFTWARE: A szerver szoftverét adja meg. Az ASP-t futtatni képes szerverek általában valamilyen IIS verziót futtatnak.
HTTP_ACCEPT_LANGUAGE: A látogató böngészőjének nyelvét adja meg. Ennek alapján akár különböző tartalmat is küldhetünk a különböző nyelvű látogatóknak. A magyar nyelvű böngészőknél itt HU szerepel.
HTTP_USER_AGENT: A
kliens gép rendszerkörnyezetét adja meg. Általában a böngésző típusa és az
operációs rendszer látszik itt. Internet Explorer 5.5
és Windows 2000 esetén Pl.: Mozilla/4.0 (compatible;
MSIE 5.5; Windows NT 5.0; Terminal)
HTTP_VIA: Ha a látogató proxy szerveren keresztül érte el az oldalt, akkor itt a proxy szerver adatai lesznek.
HTTP_X_FORWARDED_FOR: Itt pedig az az IP cím szerepel, amelyre a proxy szerver továbbítja a csomagokat. Ha tehát a látogató proxyn keresztül kérte le az oldalt, itt le tudjuk kérdezni a valódi IP címét.
További szerverváltozók
Természetesen nem csak ennyi szerverváltozó van. Akit érdekelnek a továbbiak, az próbálja ki az alábbi ASP kódot. Ennek segítségével lekérdezhetjük az összes lehetséges szerverváltozót és azok értékét:
<%@
LANGUAGE = VBScript %>
<%
FOR EACH name IN Request.ServerVariables
Response.Write ("<P><B>" & name & "</B>:")
Response.Write (Request.ServerVariables(name))
NEXT
%>
Alkalmazás-változók
Az előző részben tárgyaltuk, hogy a menetekhez a Session objektumban rendelhetünk változókat, és azokat később bármelyik ASP oldalból kiolvashatjuk. Ugyanígy lehet használni az Application objektumot is. A különbség annyi, hogy míg a Session objektum változói törlődnek, amint a menet véget ér, az Application objektumban tárolt adatok egészen addig nem törlődnek, amíg a szerver gépet vagy a szoftvert újra nem indítják. Éppen ezért – erőforrás kímélés végett – nem ajánlatos nagy adatmennyiséget elhelyezni benne. Csak indokolt esetben használjuk! Beállítani és lekérdezni ezeket a változókat ugyanúgy kell, mint ahogy azt a Session objektumnál tettük:
Beállítás:
Application("valtozo") = "adat"
Lekérdezés:
Adat = Application("valtozo")
Ezzel az alapokat azt hiszem be is fejeztük. Remélem, hogy e cikksorozat legalább egy ugródeszkát jelenthetett az olvasó számára. Továbbá tervezem egy középhaladóknak szóló cikk írását, amiben az elterjedtebb ASP komponensek használatát írnám le. Aki mélyebben szeretne megismerkedni az ASP-vel és különösen a most divatos ASP.NET technikával, annak ajánlom az alábbi oldalakat, ahonnan rengeteg információ beszerezhető:
ASP Index: http://www.aspin.com
ASP Resources: http://www.asp-dev.com/
ASP Tutorial: http://www.w3schools.com/asp/default.asp
4 Guys from Rolla: http://4guysfromrolla.com/
ASP Free: http://www.aspfree.com/
Karsai Balázs - moha@pro.hu