Przewodnik Użytkownika Abyss Web Server X1 Dla MacOS X
Poprzedni | Rozdział 5. Skrypty CGI | Następny

# Zmienne środowiskowe CGI

Przed uruchomieniem skryptu CGI, Abyss Web Server ustawia jego zmienne środowisku w zgodności ze specyfikacją CGI/1.1 (opisaną pod `http://hoohoo.ncsa.uiuc.edu/cgi`) i dodaje zmienne zdeklarowane w tabelce Zmienne środowiskowe CGI Użytkownika tak jak pewne zmienne środowiskowe systemu (mianowicie `PATH`, `TEMP`, `TMP`, `LD_LIBRARY_PATH` i `TZ` .)

Poniższa lista zawiera zmienne udokumentowane w specyfikacji CGI/1.1 i pewne powszechnie ustawiane przez serwery sieciowe:

- `PATH_INFO`: Dodatkowe informacje o podanej ścieżce w żądanym URL`u. W rzeczywistości, skrypty mogą być wywołane przez ich wirtualną ścieżkę, po której następuje dodatkowa informacja na końcu tej ścieżki. Ta dodatkowa informacja wysyłana jest jako `PATH_INFO`.

- `PATH_TRANSLATED`: Przekstałcona z wirtualnej do rzeczywistej wersja `PATH_INFO`.

- `SCRIPT_NAME`: Wirtualna ścieżka wykonywanego skryptu.

- `SCRIPT_FILENAME`: Rzeczywista ścieżka wykonywanego skryptu.

- `SERVER_SOFTWARE`: Identyfikator oprogramowania serwera sieciowego.

- `SERVER_NAME`: Nazwa hosta lub adres IP komputera z żądanego URL`a, który ma uruchomiony serwer sieciowy.

- `SERVER_PORT`: Port, do którego zostało wysłane żądanie.

- `GATEWAY_INTERFACE`: Wersja Specyfikacji CGI obsługiwanej przez serwer sieciowy; zawsze ustawione na `CGI/1.1`.

- `SERVER_PROTOCOL`: Wersja protokołu HTTP używanego przez obecne żądanie.

- `REQUEST_METHOD`: Metoda używana przez obecne żądane; zazwyczaj ustawione na `GET` lub `POST`.

- `QUERY_STRING`: Informacja, która następuje po znaku `?` w żądanym URL`u.

- `REMOTE_ADDR`: Adres IP komputera, z którego zostało wysłane żądanie.

- `REMOTE_PORT`: Port, z którego zostało wysłane żadanie.

- `CONTENT_TYPE`: Typ MIME żądanej treści; określony tylko dla żądań `POST` lub `PUT`.

- `CONTENT_LENGTH`: Długość podawana w bajtach żądanej treści; określona tylko dla żądań `POST` lub `PUT`.

- `DOCUMENT_ROOT`: Ścieżka absolutna plików witryny. Ma taką samą wartość jak Ścieżka Dokumentów.

- `AUTH_TYPE`: Typ uwierzytelnienia, jeżeli klient uwierzytelnił siebie aby uzyskać dostęp do skryptu.

- `AUTH_USER` i `REMOTE_USER`: Nazwa użytkownika podana przez klienta gdy uwierzytelnił siebie aby uzyskać dostęp do skryptu.

Dodatkowo do tych zmiennych, wszystkie wiersze nagłówka odbierane w żądaniu są dodawane do środowiska z przedrosktkiem `HTTP_`, po którym następuje nazwa nagłówka wielkimi literami. Wszystkie znaki `-` w nazwie nagłówka zmieniane są na znaki podkreślenia `_`. Na przykład, `User-Agent` jest tłumaczone na `HTTP_USER_AGENT`.

Jeśli żądanie wynika z wewnątrznego przekierowania (z dokumentu SSI lub jeśli jest to używane jako własna strona błędu, na przykład), zmienne środowiskowe żądania nadrzędnego są także dodawane, a każda nazwa zmiennej jest poprzedzana przez `REDIRECT_`. Kod stanu żądania nadrzędnego jest zachowywany w specjalnej zmiennej `REDIRECT_STATUS`. Cookies (Ciasteczka) żądania nadrzędnego są także podawane żądaniowi nadrzędnemu w zmiennej środowiskowej `COOKIES`.

Przykład 5-1. Wykorzystywanie informacji przekierowania w skryptach CGI

Jeżeli skrypt CGI jest wywoływany po wewnętrznym przekierowaniu, skrypt ten może odczytać ciekawe informacje ze środowiska o jego nadrzędnych żądaniach, takie jak:

- `REDIRECT_SCRIPT_NAME`: Wirtualna ścieżka dokumentu nadrzędnego.

- `REDIRECT_STATUS`: Kod stanu żądania nadrzędnego. Kod ten jest użyteczny gdy piszesz skrypty, które generują własne strony błędów.

Poprzedni | Spis treści | Następny
Jak one działają? | Początek rozdziału | Pliki Dołączane Serwera [SSI]

Copyright © 2001-2003 by Aprelium Technologies