ABC skryptów CGI

Wstecz Dalej

Nagłówek HTTP

Nagłówek wypisywany przez skrypt przed właściwą treścią dokumentu stanowi fragment pełnego nagłówka HTTP, który wysyłany jest przez serwer do przeglądarki WWW (por. przykład). Nagłówek składa się z jednego lub więcej pól. Każde pole stanowi jeden wiersz, zawierający nazwę pola oraz jego wartość oddzielone dwukropkiem. Nazwy i znaczenie wszystkich pól mogących wystąpić w nagłówku określa specyfikacja protokołu HTTP (aktualna wersja, HTTP 1.1, opisana jest w dokumencie RFC 2616), nie wszystkie jednak są jednakowo istotne z punktu widzenia pisania skryptów CGI.

Serwer WWW automatycznie uzupełnia w nagłówku wysyłanym do przeglądarki wartości pól, które nie zostały dostarczone przez skrypt. Zgodnie ze specyfikacją CGI, nagłówek wypisywany przez skrypt musi zawierać przynajmniej jedno z pól: Content-type, Location lub Status. Dwu ostatnich używamy na ogół w sytuacjach wyjątkowych; w przypadku normalnego zakończenia działania skryptu jedynym polem, które obowiązkowo musi wystąpić w nagłówku, jest pole Content-type. Określa ono rodzaj (typ danych) dokumentu następującego po nagłówku, zgodnie ze standardem MIME. Najczęściej używaną wartością tego pola jest text/html, oznaczająca dokument w języku HTML. Inne często spotykane możliwości to np. text/plain - zwykły tekst ASCII, albo image/gif - rysunek w formacie GIF (więcej informacji o typach MIME - zob. notka).

W przypadku dokumentu tekstowego (zarówno text/html, jak i text/plain), pole Content-type można zaopatrzyć jeszcze dodatkowo w informację o zestawie znaków, za pomocą którego jest zapisany dokument. Dla dokumentu w języku polskim, zawierającego polskie litery zakodowane wg standardu ISO 8859-2, możemy zatem umieścić w nagłówku następujące pole:

     Content-type: text/html; charset=iso-8859-2
Wystąpienie takiego pola w nagłówku HTTP ma dla przeglądarki analogiczny skutek, jak umieszczenie w treści strony WWW znanego znacznika META:

     <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
który w istocie właśnie "udaje" wystąpienie odpowiedniego pola w nagłówku w sytuacjach, gdy nie da się łatwo manipulować prawdziwym nagłówkiem wysyłanym przez serwer (bądź nagłówka nie ma w ogóle - np. wtedy, gdy przeglądamy off-line stronę ściągniętą na lokalny dysk).

Oprócz pola Content-type oraz opisywanych poniżej Location i Status w nagłówku wystąpić mogą dowolne inne pola przewidziane w protokole HTTP (zestawienie ważniejszych pól nagłówka znajduje się w tabeli 1). Są one w niezmienionej postaci przesyłane przez serwer do przeglądarki.


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