Wstecz
|
Dalej
|
http://www.serwer.com/katalog/skrypt.cgi/moje/dokumenty
Adres ten wygląda jak odwołanie do dokumentu "dokumenty",
znajdującego się w katalogu "/katalog/skrypt.cgi/moje". Tymczasem w
rzeczywistości powoduje on wywołanie skryptu skrypt.cgi,
któremu jako dodatkowa informacja przekazywany jest tekst
"/moje/dokumenty".Tekst ten przekazywany jest w zmiennej środowiskowej PATH_INFO. W zmiennej PATH_TRANSLATED przekazywana jest natomiast rzeczywista ścieżka dostępu do pliku na dysku serwera, która odpowiadałaby podanej ścieżce wirtualnej. Wartość tej drugiej zmiennej zależy od konfiguracji danego serwera; przykładowo, gdybyśmy odwołali się w ten sposób do skryptu http://www.wsp.krakow.pl/cgi-bin/test-cgi/moje/dokumenty, otrzymalibyśmy następujący wynik:
PATH_INFO = /moje/dokumenty
PATH_TRANSLATED = /public/html/moje/dokumenty
Sens wartości PATH_TRANSLATED jest taki, że gdybyśmy próbowali
odwołać się na tym serwerze do adresu określonego zmienną PATH_INFO
(czyli http://www.wsp.krakow.pl/moje/dokumenty), to serwer
próbowałby odszukać na dysku i wysłać do przeglądarki plik określony
ścieżką dostępu /public/html/moje/dokumenty. Wartość
PATH_TRANSLATED jest niezależna od tego, czy taki plik rzeczywiście
istnieje, czy nie.Ten sposób przekazywania parametrów znajduje zastosowanie głównie w skryptach, które operują na innych stronach WWW znajdujących się na tym samym serwerze. Na przykład, na użytek użytkowników z zagranicy, nie mających zainstalowanych polskich liter w swoich komputerach, możemy umieścić na serwerze skrypt - nazwijmy go "nopl" - który będzie przekształcał dowolną ze znajdujących się na serwerze stron do postaci nie zawierającej polskich liter. Jeżeli adres oryginalnej strony ma np. postać
http://www.serwer.com/katalog/strona.html
to wywołanie skryptu
http://www.serwer.com/cgi-bin/nopl/katalog/strona.html
powinno nam wyświetlić wersję tej samej strony bez polskich liter.
Wartość zmiennej PATH_TRANSLATED wskaże w tym przypadku skryptowi
rzeczywistą lokalizację pliku, którego zawartość trzeba odczytać i
wypisać na standardowe wyjście, zamieniając wszystkie polskie litery
na ich odpowiedniki łacińskie.Obydwie formy przekazywania parametrów można ze sobą łączyć. Wtedy najpierw umieszcza się wirtualną ścieżkę dostępu, a dopiero po niej znak "?" i znajdujące się po nim parametry. Na przykład, skrypt wywołany następująco:
http://www.wsp.krakow.pl/cgi-bin/test-cgi/moje/dokumenty?Ala
będzie miał następująco ustawione zmienne środowiskowe:
PATH_INFO = /moje/dokumenty
PATH_TRANSLATED = /public/html/moje/dokumenty
QUERY_STRING = Ala
i dodatkowo pierwszym parametrem wywołania skryptu ($ARGV[0]) będzie
"Ala".
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
|