AWWW-1st3.6-w05.tresc-1.0-Slajd10

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przykładowy program CGI (1)

Przykładowy program CGI (1)


Na slajdzie przedstawiono przykład programu CGI nie generującego nagłówka odpowiedzi HTTP. Program został zaimplementowany w języku skryptów BAT, jest uruchamiany w odpowiedzi na żądanie HTTP zawierające parametr, którym jest imię użytkownika końcowego. Struktura programu jest następująca:

1. Program CGI wysyła do standardowego wyjścia dyrektywę "Content-type", która wskazuje serwerowi HTTP format, w jakim zostanie przekazane ciało odpowiedzi. Należy podkreślić, że w omawianym przypadku "Content-type" jest dyrektywą dla serwera HTTP, a nie polem nagłówka odpowiedzi o tej samej nazwie. Rozróżnienie to nie ma jednak żadnych konsekwencji funkcjonalnych.

2. Program CGI wysyła do standardowego wyjścia pusty wiersz, oznaczający, że zakończono wysyłanie dyrektyw dla serwera HTTP i przystąpiono do generowania treści ciała odpowiedzi HTTP.

3. Program CGI wysyła treść ciała odpowiedzi HTTP. Treść tę stanowi dokument HTML. Ponieważ znaki "<" i ">" pełnią rolę znaków specjalnych w MS DOS, to zostały poprzedzone znakiem sterującym "^". Wewnątrz generowanego dokumentu HTML umieszczono wartość zmiennej środowiskowej QUERY_STRING, która wg specyfikacji CGI zawiera parametry żądania HTTP typu GET. Ponadto, program CGI wykonuje polecenie systemowe DIR, a jego wynik również umieszcza w generowanym dokumencie HTML.


Po prawej stronie slajdu przedstawiono przykładową odpowiedź HTTP powstałą w wyniku pracy programu CGI. Zauważmy, że ta odpowiedź zawiera nagłówek, który został wygenerowany automatycznie przez serwer HTTP, częściowo na podstawie wskazówek (dyrektyw) programu CGI. W przykładowym wywołaniu użytkownik dołączył swoje imię (Maciej) do adresu URL żądania: "http://www.poznan.pl/cgi-bin/test-cgi.bat?Maciej".


<< Poprzedni slajd | Spis treści | Następny slajd >>