Lista nagłówków HTTP

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Nagłówki HTTP to wszelkie komendy używane do komunikacji między przeglądarką WWW a serwerem.

Standardowe[edytuj | edytuj kod]

Accept[edytuj | edytuj kod]

Accept: application/xhtml+xml, application/xml;q=0.9, text/xml;q=0.7, text/html;q=0.5, text/plain;q=0.3

Służy do określenia listy akceptowalnych przez przeglądarkę typów MIME dokumentu, oraz opcjonalnie hierarchii każdego typu. Liczby podane po ;q= powinny mieć wartości od 0 do 1, co 0.1. Jako separator miejsc dziesiętnych użyta musi być kropka. W przypadku braku zdefiniowanej wartości ;q= przyjmowana jest wartość: ;q=1 (równoznaczna z ;q=1.0).

Powyższy przykład ustala najwyższy priorytet typowi application/xhtml+xml. Jeżeli serwer nie posiada dokumentu w formacie application/xhtml+xml, to prześle plik w formacie application/xml – ogólnym dla podjęzyków XML, takich jak XHTML, SVG. Jeżeli na serwerze nie ma również dokumentu w tym formacie, dane zostaną przesłane jako text/xml – czyli ogólne dane w formacie XML, w ostateczności, jeżeli żadnego z tych typów nie posiada, serwer wyśle dane w formacie text/plain, czyli zwykłego tekstu.

Typy MIME mogą być określone za pomocą symboli wieloznacznych np.: text/*, */*.

Accept-Charset[edytuj | edytuj kod]

Accept-Charset: utf-8, iso-8859-13;q=0.8

Określa preferowane przez przeglądarkę formaty kodowania. Wartości ;q= interpretowane są na takich samych zasadach, jak w przypadku typów MIME z nagłówka Accept.

Accept-Encoding[edytuj | edytuj kod]

Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0

Ten nagłówek określa kodowanie, za pomocą którego zostanie przesłana zawartość. Stosowane zwykle do kompresji treści.

Accept-Language[edytuj | edytuj kod]

Accept-Language: pl, en-us;q=0.7

Określa w jakim języku użytkownik przeglądarki życzy sobie czytać strony. Zobacz też: Language negotiation

Accept-Ranges[edytuj | edytuj kod]

Accept-Ranges: bytes lub none

Ten nagłówek jest ustawiany przez przeglądarki i programy ułatwiające ściąganie plików. Określa czy klient potrafi (wartość bytes) lub nie (wartość none) odczytywać pliki przesyłane w częściach.

Zobacz też: Content-Range i Range

Allow[edytuj | edytuj kod]

Allow: GET, POST, HEAD

Okresla metody HTTP obsługiwane przez serwer.

Authorization[edytuj | edytuj kod]

Cache-Control[edytuj | edytuj kod]

Cache-Control: no-cache

Określa regułę według której przeglądarka może (lub nie może) przechowywać stronę w pamięci podręcznej.

Dostępne wartości to:

  • no-store – strona nie może być przechowywana.
  • no-cache – strona może być przechowywana pod warunkiem każdorazowego sprawdzania jej aktualności.

Te dwa nagłówki mają szczególne znaczenie dla serwerów proxy. Pierwszy nakazuje przesyłać dokument bezwzględnie, natomiast drugi pozwala na skorzystanie z kopii w pamięci podręcznej, jeżeli dokument źródłowy się nie zmienił.

  • max-age=liczba_sekund – oznacza, że można skorzystać z cache pod warunkiem iż nie jest przechowywane dłużej jak liczba_sekund. Jeżeli jest starsze przeglądarka powinna ściągnąć nowszą wersję.
  • min-fresh=liczba_sekund – nakazuje przeglądarce ściągnąć dokument jeżeli jego wiek nie przekracza liczby_sekund + aktualna_data

Connection[edytuj | edytuj kod]

Connection: close

Połączenie zostanie zamknięte po obsłużeniu zapytania.

Connection: keep-alive

Połączenie będzie utrzymywane w oczekiwaniu na kolejne zapytania. Czas oczekiwania nie może przekroczyć wartości określonej w nagłówku wysłanym przez serwer.

Content-Encoding[edytuj | edytuj kod]

Content-Encoding: gzip

Kodowanie dokumentu przesłanego przez serwer. Stosowane zwykle do kompresji treści.

Content-Language[edytuj | edytuj kod]

Content-Language: en, pl

Język dokumentu przesłanego przez serwer. Może być określony więcej niż jeden język. Wtedy język główny strony jest określony jako ostatni na tej liście.

Content-Length[edytuj | edytuj kod]

Content-Length: 1

Długość w bajtach przesyłanej zawartości (wyłączając część nagłówkową). Nagłówek obowiązkowy dla danych wysyłanych z serwera, oraz przy korzystaniu z metody POST.

Content-Location[edytuj | edytuj kod]

Content-Range[edytuj | edytuj kod]

Content-Range: bytes 123-456/5000

Informacja serwera jaki zakres pliku został przesłany (stosowany razem z kodem odpowiedzi 206).

Zakres jest podawany w formacie: pozycja_początkowa-pozycja_końcowa/wielkość_pliku (wszystkie wartości w bajtach)

Content-Type[edytuj | edytuj kod]

Content-Type: application/xhtml+xml; charset=utf-8

Tym nagłówkiem serwer informuje przeglądarkę, w jakim formacie i stronie kodowej wysyłany jest dokument.

Date[edytuj | edytuj kod]

Date: Tue, 15 Nov 1994 08:12:31 GMT

Data na serwerze.

Expires[edytuj | edytuj kod]

Expires: Thu, 01 Dec 1994 16:00:00 GMT

Data powyżej której dokument będzie nieaktualny.

Host[edytuj | edytuj kod]

Host: www.w3.org

Nagłówek określający z dla jakiej domeny określony został URI (do serwera bowiem nie dociera nazwa domenowa, ale jedynie adres IP). Nagłówek wymagany w HTTP 1.1. Dzięki niemu można uruchomić kilka serwerów wirtualnych na jednym adresie IP.

If-Match[edytuj | edytuj kod]

If-Modified-Since[edytuj | edytuj kod]

If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT

Nagłówek nakazuje serwerowi przesłać dokument tylko jeżeli został zmodyfikowany od danej daty. Jeżeli dokument się nie zmienił serwer powinien wysłać przeglądarce kod odpowiedzi 304.

Last-Modified[edytuj | edytuj kod]

Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

Nagłówek serwera informujący o ostatniej aktualizacji dokumentu.

Location[edytuj | edytuj kod]

Location: http://serwer/

Wymusza przekierowanie na określony adres. Dla kodu odpowiedzi 201 adres oznacza miejsce nowo utworzonego zasobu. Dla kodów 3xx podany adres oznacza przekierowanie stałe. Od tej pory przeglądarka powinna korzystać z nowego adresu.

Pragma[edytuj | edytuj kod]

Proxy-Authenticate[edytuj | edytuj kod]

Proxy-Authorization[edytuj | edytuj kod]

Range[edytuj | edytuj kod]

Range: bytes=500-999

Określa jaką część pliku oczekuje przeglądarka. Podawany w formacie bytes=pozycja_początkowa-pozycja_końcowa

Referer[edytuj | edytuj kod]

Referer: http://serwer/katalog/plik.html

Podaje adres strony, z której nastąpiło przekierowanie. Pojawia się gdy użytkownik kliknie na link lub gdy przeglądarka ładuje elementy zagnieżdżone. Jeżeli użytkownik wpisał adres ręcznie ten nagłówek nie występuje.

Retry-After[edytuj | edytuj kod]

Retry-After: Fri, 31 Dec 1999 23:59:59 GMT

Używany razem z kodem odpowiedzi 503 (Serwer zajęty). Określa czas po którym serwer będzie w stanie odpowiedzieć. Czas może być podany w formie konkretnej daty (jak w przykładzie) lub liczby sekund.

Server[edytuj | edytuj kod]

Server: Apache/2.0.50

Nagłówek identyfikujący serwer i użyte w nim oprogramowanie.

Transfer-Encoding[edytuj | edytuj kod]

Transfer-Encoding: chunked

Określa w jaki sposób serwer przesłał zawartość dokumentu.

Dostępne metody to:

chunked
Oznacza przesyłanie zawartości kawałkami. Każdy z nich powinien mieć postać:
wielkość
treść
wielkość – jest to długość treści w bajtach, zapisane w formie szesnastkowej. Przykład:
1a
abcdefghijklmnopqrstuvwxyz
10
1234567890abcdef
0
Zero w ostatniej linijce określa zerowej długości kawałek i kończy transmisję.
identity
Oznacza tekst nieskompresowany
gzip
Oznacza dane skompresowane algorytmem DEFLATE
compress
Dane skompresowane algorytmem LZW

User-Agent[edytuj | edytuj kod]

User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.0.1) Gecko/20060124 Firefox/1.5.0.1

Identyfikuje przeglądarkę.

WWW-Authenticate[edytuj | edytuj kod]

WWW-Authenticate: rodzaj_autentyfikacji

Przesyłany razem z kodem 401. Określa sposób w jaki ma zostać przeprowadzona identyfikacja użytkownika.

Niestandardowe[edytuj | edytuj kod]

Nagłówki podane poniżej nie znajdują się w specyfikacji HTTP 1.1, lecz są często używane.

Cookie[edytuj | edytuj kod]

Cookie: ciastko1=wartosc1; ciastko2=wartosc2

W tym nagłówku przesyłane są wszystkie ciasteczka ustawione w przeglądarce.

Set-Cookie[edytuj | edytuj kod]

Set-Cookie: ciastko1=wartosc1; ciastko2=wartosc2

Nagłówek wysłany od serwera nakazuje przeglądarce ustawienie określonych ciasteczek.

Refresh[edytuj | edytuj kod]

Refresh: czas; url=adres

Ustawia automatyczne przekierowanie w przeglądarce na podany adres po określonym czasie

X-Frame-Options[edytuj | edytuj kod]

X-Frame-Options: deny

Ogranicza zagnieżdżania strony w ramkach w celu ochrony przed atakami Clickjacking[1].

Dostępne wartości to:

deny 
zabrania osadzania strony w ramce
sameorigin 
pozwala na osadzenie strony tylko w obrębie tej samej domeny

Przypisy

  1. Piotr Konieczny: Clickjacking i Framebusting (czyli ochrona przed clickjackingiem) (pol.). 2010-06-03. [dostęp 2013-06-30].

Zobacz też[edytuj | edytuj kod]