ABC skryptów CGI

Wstecz Dalej

Zmienne środowiskowe CGI

Jak wspomniano na wstępie, uruchomiony skrypt CGI otrzymuje od serwera szereg informacji w postaci tzw. zmiennych środowiskowych. Skrypt może odczytać wartości tych zmiennych i w zależności od nich podjąć odpowiednie działania.

Każda zmienna środowiskowa ma swoją nazwę (zwyczajowo zapisywaną wyłącznie za pomocą dużych liter i znaku podkreślenia) oraz wartość, mogącą być dowolnym ciągiem znaków (w szczególności wartość może być pusta). Większość instalacji serwerów WWW umieszcza w katalogu /cgi-bin specjalny testowy skrypt o nazwie test-cgi, umożliwiający (o ile administrator serwera go nie skasował) zapoznanie się ze wszystkimi zmiennymi środowiskowymi definiowanymi przez specyfikację CGI. Wywołanie takiego skryptu (np. http://www.wsp.krakow.pl/cgi-bin/test-cgi) wyświetli nam zestaw zmiennych podobny do poniższego:

     SERVER_SOFTWARE = Apache/1.2.1
     SERVER_NAME = www.wsp.krakow.pl
     GATEWAY_INTERFACE = CGI/1.1
     SERVER_PROTOCOL = HTTP/1.0
     SERVER_PORT = 80
     REQUEST_METHOD = GET
     HTTP_ACCEPT = */*
     HTTP_USER_AGENT = xChaos_Arachne/4.1.60;b1 (DOS x86;WATTCP/1.05; 800x600,HiColor; www.arachne.cz)
     HTTP_HOST = www.wsp.krakow.pl
     PATH_INFO = 
     PATH_TRANSLATED = 
     SCRIPT_NAME = /cgi-bin/test-cgi
     QUERY_STRING = 
     REMOTE_HOST = d-28-11.cyfronet.krakow.pl
     REMOTE_ADDR = 149.156.1.209
     REMOTE_USER =
     AUTH_TYPE =
     CONTENT_TYPE =
     CONTENT_LENGTH =
Znaczenie wszystkich tych zmiennych przedstawione zostało w tabeli 2. Należy zwrócić uwagę, że przy typowym wywołaniu skryptu wiele z nich ma puste wartości. Nie wszystkie z tych zmiennych są jednakowo użyteczne w skrypcie - do tych najbardziej przydatnych, obok REMOTE_HOST i REMOTE_ADDR, informujących o adresie komputera, z którego ktoś odwołuje się do naszego skryptu, należą zmienne z przedrostkiem HTTP_, zawierające dane przekazane serwerowi przez przeglądarkę w nagłówku HTTP. Na przykład zmienna HTTP_USER_AGENT określa nazwę używanej przez użytkownika przeglądarki, zaś HTTP_REFERER podaje adres strony, z której użytkownik dostał się (poprzez kliknięcie odsyłacza) do naszego skryptu (por. tabela 1).


Wstecz Dalej

Jarosław Rafa 2000. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 11.10.2000.


Powrót do spisu treści Statystyka