HTTP - pola nagłówka

Pola nagłówka HTTP zawierają wymagane informacje o żądaniu lub odpowiedzi albo o obiekcie wysłanym w treści wiadomości. Istnieją cztery typy nagłówków wiadomości HTTP:

  • General-header: Te pola nagłówka mają ogólne zastosowanie zarówno do komunikatów z żądaniami, jak i odpowiedziami.

  • Client Request-header: Te pola nagłówka mają zastosowanie tylko do komunikatów z żądaniami.

  • Server Response-header: Te pola nagłówka mają zastosowanie tylko do komunikatów odpowiedzi.

  • Entity-header: Te pola nagłówka definiują metainformacje o treści jednostki lub, jeśli nie ma treści, o zasobie zidentyfikowanym przez żądanie.

Ogólne nagłówki

Cache-Control

Pole ogólnego nagłówka Cache-Control służy do określenia dyrektyw, które MUSZĄ być przestrzegane przez cały system buforowania. Składnia jest następująca:

Cache-Control : cache-request-directive|cache-response-directive

Klient lub serwer HTTP może używać rozszerzenia Cache-controlnagłówek ogólny do określenia parametrów pamięci podręcznej lub żądania określonych rodzajów dokumentów z pamięci podręcznej. Dyrektywy buforowania są określone na liście oddzielonej przecinkami. Na przykład:

Cache-control: no-cache

Poniższa tabela zawiera listę ważnych dyrektyw żądań pamięci podręcznej, które mogą być używane przez klienta w żądaniu HTTP:

SN Dyrektywa i opis żądania pamięci podręcznej
1 no-cache

Pamięć podręczna nie może używać odpowiedzi do spełnienia kolejnego żądania bez pomyślnej ponownej walidacji na serwerze pochodzenia.

2 no-store

Pamięć podręczna nie powinna przechowywać żadnych informacji o żądaniu klienta lub odpowiedzi serwera.

3 max-age = seconds

Wskazuje, że klient jest gotowy zaakceptować odpowiedź, której wiek nie jest dłuższy niż określony czas w sekundach.

4 max-stale [ = seconds ]

Wskazuje, że klient jest skłonny zaakceptować odpowiedź, która przekroczyła czas wygaśnięcia. Jeśli podano sekundy, nie może upłynąć więcej niż ten czas.

5 min-fresh = seconds

Wskazuje, że klient jest skłonny zaakceptować odpowiedź, której okres ważności nie jest krótszy niż jej aktualny wiek plus określony czas w sekundach.

6 no-transform

Nie konwertuje ciała jednostki.

7 only-if-cached

Nie pobiera nowych danych. Pamięć podręczna może wysyłać dokument tylko wtedy, gdy znajduje się w pamięci podręcznej i nie powinna kontaktować się z serwerem pochodzenia, aby sprawdzić, czy istnieje nowsza kopia.

Następujące ważne dyrektywy odpowiedzi pamięci podręcznej, które mogą być używane przez serwer w odpowiedzi HTTP:

SN Dyrektywa i opis odpowiedzi pamięci podręcznej
1 public

Wskazuje, że odpowiedź może być buforowana przez dowolną pamięć podręczną.

2 private

Wskazuje, że całość lub część komunikatu odpowiedzi jest przeznaczona dla jednego użytkownika i nie może być zapisywana w pamięci podręcznej współużytkowanej.

3 no-cache

Pamięć podręczna nie może używać odpowiedzi do spełnienia kolejnego żądania bez pomyślnej ponownej weryfikacji na serwerze pochodzenia.

4 no-store

Pamięć podręczna nie powinna przechowywać żadnych informacji o żądaniu klienta lub odpowiedzi serwera.

5 no-transform

Nie konwertuje ciała jednostki.

6 must-revalidate

Pamięć podręczna musi weryfikować stan nieaktualnych dokumentów przed jej użyciem, a te, które utraciły ważność, nie powinny być używane.

7 proxy-revalidate

Dyrektywa proxy-revalidate ma takie samo znaczenie jak dyrektywa must-revalidate, z wyjątkiem tego, że nie ma zastosowania do niewspółdzielonych pamięci podręcznych agentów użytkownika.

8 max-age = seconds

Wskazuje, że klient jest gotowy zaakceptować odpowiedź, której wiek nie jest dłuższy niż określony czas w sekundach.

9 s-maxage = seconds

Maksymalny wiek określony w tej dyrektywie zastępuje maksymalny wiek określony w dyrektywie max-age lub w nagłówku Expires. Dyrektywa s-maxage jest zawsze ignorowana przez prywatną pamięć podręczną.

Połączenie

Pole Connection general-header umożliwia nadawcy określenie opcji, które są wymagane dla tego konkretnego połączenia i nie mogą być przekazywane przez serwery proxy w dalszych połączeniach. Poniżej znajduje się prosta składnia używania nagłówka połączenia:

Connection : "Connection"

HTTP / 1.1 definiuje opcję „zamknij” połączenia dla nadawcy, aby zasygnalizować, że połączenie zostanie zamknięte po zakończeniu odpowiedzi. Na przykład:

Connection: close

Domyślnie protokół HTTP 1.1 korzysta z połączeń trwałych, w przypadku których połączenie nie jest automatycznie zamykane po transakcji. Z drugiej strony protokół HTTP 1.0 nie ma domyślnie trwałych połączeń. Jeśli klient w wersji 1.0 chce korzystać z połączeń trwałych, używa rozszerzeniakeep-alive parametr w następujący sposób:

Connection: keep-alive

Data

Wszystkie znaczniki daty / czasu HTTP MUSZĄ być przedstawione w czasie Greenwich (GMT), bez wyjątku. Aplikacje HTTP mogą używać dowolnej z następujących trzech reprezentacji znaczników daty / czasu:

Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

Tutaj pierwszy format jest najbardziej preferowany.

Pragma

Pole nagłówka ogólnego Pragmy służy do uwzględnienia dyrektyw specyficznych dla implementacji, które mogą mieć zastosowanie do dowolnego adresata w łańcuchu żądań / odpowiedzi. Na przykład:

Pragma: no-cache

Jedyną dyrektywą zdefiniowaną w HTTP / 1.0 jest dyrektywa no-cache i jest utrzymywana w HTTP 1.1 w celu zapewnienia kompatybilności wstecznej. W przyszłości żadne nowe dyrektywy Pragmy nie zostaną zdefiniowane.

Zwiastun filmu

Wartość pola „Trailer general” wskazuje, że dany zestaw pól nagłówka jest obecny w końcu komunikatu zakodowanego za pomocą fragmentarycznego kodowania transferu. Oto składnia pola nagłówka Trailer:

Trailer : field-name

Pola nagłówka wiadomości wymienione w polu nagłówka zwiastuna nie mogą zawierać następujących pól nagłówka:

  • Transfer-Encoding

  • Content-Length

  • Trailer

Transfer-Encoding

Pole nagłówka Transfer-Encoding general-header wskazuje, jaki typ transformacji został zastosowany do treści wiadomości, aby bezpiecznie przesłać ją między nadawcą a odbiorcą. To nie to samo, co kodowanie treści, ponieważ kodowanie transferu jest właściwością wiadomości, a nie treścią jednostki. Składnia pola nagłówka Transfer-Encoding jest następująca:

Transfer-Encoding: chunked

We wszystkich wartościach kodowania transferu wielkość liter nie jest rozróżniana.

Aktualizacja

Upgrade ogólnego nagłówka pozwala klientowi określić, jakie protokoły komunikacyjne obsługuje dodatkowy i chciałby używać jeżeli znaleziska serwera za stosowne protokoły przełącznika. Na przykład:

Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11

Nagłówek Upgrade ma zapewnić prosty mechanizm przejścia z HTTP / 1.1 na inny, niekompatybilny protokół.

Przez

Via ogólnego nagłówka musi być używany przez bramy i serwerów proxy, aby wskazać pośrednich protokoły i odbiorców. Na przykład komunikat żądania może zostać wysłany z klienta użytkownika HTTP / 1.0 do wewnętrznego serwera proxy o nazwie „fred”, który używa protokołu HTTP / 1.1 do przekazania żądania do publicznego serwera proxy w domenie nowhere.com, który kończy żądanie przez przekazując go do serwera pochodzenia pod adresem www.ics.uci.edu. Żądanie otrzymane przez www.ics.uci.edu będzie miało wówczas następujące pole nagłówka Via:

Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)

Nagłówek Upgrade ma zapewnić prosty mechanizm przejścia z HTTP / 1.1 na inny, niekompatybilny protokół.

Ostrzeżenie

Warning ogólnego nagłówka służy do przeprowadzenia dodatkowych informacji na temat stanu lub przekształcenia wiadomości, które nie mogą zostać odzwierciedlone w komunikacie. Odpowiedź może zawierać więcej niż jeden nagłówek Warning.

Warning : warn-code SP warn-agent SP warn-text SP warn-date

Nagłówki żądań klienta

Zaakceptować

Za pomocą pola Akceptuj nagłówek żądania można określić pewne typy nośników, które są akceptowane w odpowiedzi. Ogólna składnia jest następująca:

Accept: type/subtype [q=qvalue]

Można wyszczególnić wiele typów mediów oddzielonych przecinkami, a opcjonalna wartość q reprezentuje akceptowalny poziom jakości akceptowanych typów w skali od 0 do 1. Oto przykład:

Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c

Zostałoby to zinterpretowane jako text/html i text/x-c i są preferowanymi typami mediów, ale jeśli ich nie ma, wyślij plik text/x-dvi encji, a jeśli nie istnieje, wyślij plik text/plain jednostka.

Zaakceptuj-Charset

Pole nagłówka żądania Accept-Charset może służyć do wskazania, jakie zestawy znaków są akceptowane w odpowiedzi. Oto ogólna składnia:

Accept-Charset: character_set [q=qvalue]

Można wymienić wiele zestawów znaków oddzielonych przecinkami, a opcjonalna wartość q reprezentuje akceptowalny poziom jakości dla niepreferowanych zestawów znaków w skali od 0 do 1. Oto przykład:

Accept-Charset: iso-8859-5, unicode-1-1; q=0.8

Specjalna wartość „*”, jeśli występuje w pliku Accept-Charset pole, dopasowuje każdy zestaw znaków, a jeśli nie Accept-Charset nagłówek jest obecny, domyślnie dopuszczalny jest dowolny zestaw znaków.

Zaakceptuj kodowanie

Pole nagłówka żądania Accept-Encoding jest podobne do Accept, ale ogranicza kodowanie treści, które są akceptowane w odpowiedzi. Ogólna składnia to:

Accept-Encoding: encoding types

Przykłady są następujące:

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

Accept-Language

Pole nagłówka żądania Accept-Language jest podobne do pola Accept, ale ogranicza zestaw języków naturalnych, które są preferowane jako odpowiedź na żądanie. Ogólna składnia to:

Accept-Language: language [q=qvalue]

Można podać wiele języków oddzielonych przecinkami, a opcjonalna wartość q reprezentuje akceptowalny poziom jakości dla języków innych niż preferowane w skali od 0 do 1. Oto przykład:

Accept-Language: da, en-gb;q=0.8, en;q=0.7

Upoważnienie

Wartość pola nagłówka żądania autoryzacji składa się z poświadczeń zawierających informacje uwierzytelniające agenta użytkownika dla dziedziny żądanego zasobu. Ogólna składnia to:

Authorization : credentials

Specyfikacja HTTP / 1.0 definiuje schemat autoryzacji BASIC, gdzie parametrem autoryzacji jest ciąg znaków username:password zakodowane w bazie 64. Oto przykład:

Authorization: BASIC Z3Vlc3Q6Z3Vlc3QxMjM=

Wartość jest dekodowana na to guest:guest123 gdzie guest to identyfikator użytkownika i guest123 to hasło.

Ciastko

Wartość pola żądanie-nagłówek pliku cookie zawiera parę nazwa / wartość informacji przechowywanych dla tego adresu URL. Oto ogólna składnia:

Cookie: name=value

Można określić wiele plików cookie, oddzielając je średnikami w następujący sposób:

Cookie: name1=value1;name2=value2;name3=value3

Oczekiwać

Pole Oczekuj nagłówka żądania służy do wskazania, że ​​określony zestaw zachowań serwerowych jest wymagany przez klienta. Ogólna składnia to:

Expect : 100-continue | expectation-extension

Jeśli serwer otrzyma żądanie zawierające pole Expect, które zawiera rozszerzenie oczekiwania, którego nie obsługuje, musi odpowiedzieć statusem 417 (Expectation Failed).

Od

Od żądanie nagłówku pole zawiera adres internetowy, e-mail do użytkownika, który kontroluje ludzi wnioskujące agenta użytkownika. Oto prosty przykład:

From: [email protected]

To pole nagłówka może być używane do celów rejestrowania i jako środek do identyfikacji źródła nieprawidłowych lub niechcianych żądań.

Gospodarz

Pole nagłówka żądania hosta służy do określenia hosta internetowego i numeru portu żądanego zasobu. Ogólna składnia to:

Host : "Host" ":" host [ ":" port ] ;

ZA hostbez żadnych informacji o porcie końcowym oznacza domyślny port, który wynosi 80. Na przykład żądanie http://www.w3.org/pub/WWW/ na serwerze pochodzenia byłoby:

GET /pub/WWW/ HTTP/1.1
Host: www.w3.org

Jeśli pasuje

Pole nagłówka żądania If-Match jest używane z metodą w celu uczynienia go warunkowym. Ten nagłówek żąda od serwera wykonania żądanej metody tylko wtedy, gdy dana wartość w tym tagu jest zgodna z danymi tagami encji reprezentowanymi przezETag. Ogólna składnia to:

If-Match : entity-tag

Gwiazdka (*) oznacza dowolną jednostkę, a transakcja jest kontynuowana tylko wtedy, gdy jednostka istnieje. Oto możliwe przykłady:

If-Match: "xyzzy"
If-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
If-Match: *

Jeśli żaden z tagów encji nie jest zgodny lub jeśli podano „*” i nie istnieje żadna aktualna jednostka, serwer nie może wykonać żądanej metody i musi zwrócić odpowiedź 412 (błąd warunku wstępnego).

Jeśli-zmodyfikowano-od

If-Modified-Since polu nagłówka żądania są wykorzystywane przy użyciu metody, aby to warunkowe. Jeśli żądany adres URL nie został zmodyfikowany od czasu określonego w tym polu, jednostka nie zostanie zwrócona z serwera; zamiast tego zostanie zwrócona odpowiedź 304 (niezmodyfikowana) bez treści komunikatu. Ogólna składnia if-modified-since to:

If-Modified-Since : HTTP-date

Przykładem pola jest:

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

Jeśli żaden z tagów encji nie jest zgodny lub jeśli podano „*” i nie istnieje żadna aktualna jednostka, serwer nie może wykonać żądanej metody i musi zwrócić odpowiedź 412 (błąd warunku wstępnego).

Jeśli nie pasuje

If-None-Match pola nagłówka żądania są wykorzystywane przy użyciu metody, aby to warunkowe. Ten nagłówek żąda od serwera wykonania żądanej metody tylko wtedy, gdy jedna z podanych wartości w tym znaczniku jest zgodna z podanymi znacznikami encji reprezentowanymi przezETag. Ogólna składnia to:

If-None-Match : entity-tag

Gwiazdka (*) oznacza dowolną jednostkę, a transakcja jest kontynuowana tylko wtedy, gdy jednostka nie istnieje. Oto możliwe przykłady:

If-None-Match: "xyzzy"
If-None-Match: "xyzzy", "r2d2xxxx", "c3piozzzz"
If-None-Match: *

Jeśli-zakres

Pole nagłówka żądania If-Range może być używane z warunkowym poleceniem GET w celu zażądania tylko części brakującej jednostki, jeśli nie została zmieniona, oraz całej jednostki, jeśli została zmieniona. Ogólna składnia jest następująca:

If-Range : entity-tag | HTTP-date

Do zidentyfikowania częściowej encji już otrzymanej można użyć znacznika encji lub daty. Na przykład:

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

Tutaj, jeśli dokument nie był modyfikowany od podanej daty, serwer zwraca zakres bajtów podany w nagłówku Range, w przeciwnym razie zwraca cały nowy dokument.

Jeśli-niezmodyfikowany-od

If-niemodyfikowane-Since polu nagłówka żądania są wykorzystywane przy użyciu metody, aby to warunkowe. Ogólna składnia to:

If-Unmodified-Since : HTTP-date

Jeśli żądany zasób nie został zmodyfikowany od czasu określonego w tym polu, serwer powinien wykonać żądaną operację tak, jakby nie było nagłówka If-Unmodified-Since. Na przykład:

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

Jeśli żądanie skutkuje jakimkolwiek stanem innym niż 2xx lub 412, nagłówek If-Unmodified-Since powinien zostać zignorowany.

Max-napastnicy

Pole nagłówka żądania Max-Forwards udostępnia mechanizm z metodami TRACE i OPTIONS w celu ograniczenia liczby serwerów proxy lub bram, które mogą przekazać żądanie do następnego serwera przychodzącego. Oto ogólna składnia:

Max-Forwards : n

Wartość Max-Forwards jest dziesiętną liczbą całkowitą wskazującą, ile razy można przesłać dalej ten komunikat żądania. Jest to przydatne do debugowania metodą TRACE, unikając nieskończonych pętli. Na przykład:

Max-Forwards : 5

Pole nagłówka Max-Forwards może być ignorowane dla wszystkich innych metod zdefiniowanych w specyfikacji HTTP.

Pełnomocnictwo

Pole nagłówka żądania autoryzacji proxy umożliwia klientowi identyfikację siebie (lub jego użytkownika) na serwerze proxy, który wymaga uwierzytelnienia. Oto ogólna składnia:

Proxy-Authorization : credentials

Wartość pola Proxy-Authorization składa się z poświadczeń zawierających informacje uwierzytelniające agenta użytkownika dla serwera proxy i / lub dziedziny żądanego zasobu.

Zasięg

Do klasy request-header pole określa podzakres (y) o treści z dokumentu. Ogólna składnia to:

Range: bytes-unit=first-byte-pos "-" [last-byte-pos]

Wartość pozycji pierwszego bajtu w specyfikacji zakresu bajtów określa przesunięcie bajtu pierwszego bajtu w zakresie. Wartość pozycji ostatniego bajtu określa przesunięcie bajtu ostatniego bajtu w zakresie; oznacza to, że podane pozycje bajtów są włącznie. Możesz określić jednostkę bajtów jako bajty. Przesunięcia bajtów zaczynają się od zera. Oto kilka prostych przykładów:

- The first 500 bytes 
Range: bytes=0-499

- The second 500 bytes
Range: bytes=500-999

- The final 500 bytes
Range: bytes=-500

- The first and last bytes only
Range: bytes=0-0,-1

Można podać wiele zakresów, oddzielając je przecinkami. Jeśli brakuje pierwszej cyfry w zakresie bajtów oddzielonych przecinkami, przyjmuje się, że zakres liczy się od końca dokumentu. Jeśli brakuje drugiej cyfry, zakres obejmuje bajt n do końca dokumentu.

Referer

Pole nagłówka żądania Referer umożliwia klientowi określenie adresu (URI) zasobu, z którego zażądano adresu URL. Ogólna składnia jest następująca:

Referer : absoluteURI | relativeURI

Oto prosty przykład:

Referer: http://www.tutorialspoint.org/http/index.htm

Jeśli wartość pola jest względnym identyfikatorem URI, należy ją interpretować względem identyfikatora URI żądania .

TE

Pole nagłówka żądania TE wskazuje, jakie rozszerzenie kodowania transferu jest skłonne zaakceptować w odpowiedzi i czy jest gotowe zaakceptować pola końcowe w fragmentarycznym kodowaniu transferu . Oto ogólna składnia:

TE   : t-codings

Obecność słowa kluczowego „trailery” wskazuje, że klient jest skłonny zaakceptować pola przyczepy w fragmentarycznym kodowaniu transferu i jest określone na jeden ze sposobów:

TE: deflate
TE:
TE: trailers, deflate;q=0.5

Jeśli wartość pola TE jest pusta lub jeśli nie ma pola TE, wówczas dzielone jest tylko kodowanie transferu . Wiadomość bez kodowania transferu jest zawsze akceptowalna.

Agent użytkownika

Pole nagłówka żądania agenta użytkownika zawiera informacje o kliencie użytkownika, który wysłał żądanie. Oto ogólna składnia:

User-Agent : product | comment

Przykład:

User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)

Nagłówki odpowiedzi serwera

Zaakceptuj zakresy

Pole nagłówka odpowiedzi Accept-Ranges umożliwia serwerowi wskazanie akceptacji żądań zakresu dla zasobu. Ogólna składnia to:

Accept-Ranges  : range-unit | none

Na przykład serwer, który akceptuje żądania z zakresu bajtów, może wysłać:

Accept-Ranges: bytes

Serwery, które nie akceptują żadnego zapytania o zakres dla zasobu, mogą wysłać:

Accept-Ranges: none

To poradzi klientowi, aby nie próbował żądać zakresu.

Wiek

Pole nagłówka odpowiedzi wieku zawiera oszacowanie przez nadawcę czasu od wygenerowania odpowiedzi (lub jej ponownej walidacji) na serwerze pochodzenia. Ogólna składnia to:

Age : delta-seconds

Wartości wieku są nieujemnymi dziesiętnymi liczbami całkowitymi, reprezentującymi czas w sekundach. Oto prosty przykład:

Age: 1030

Serwer HTTP / 1.1 zawierający pamięć podręczną musi zawierać pole nagłówka Age w każdej odpowiedzi wygenerowanej z własnej pamięci podręcznej.

ETag

Pole nagłówka odpowiedzi ETag zawiera bieżącą wartość znacznika jednostki dla żądanego wariantu. Ogólna składnia to:

ETag :  entity-tag

Oto kilka prostych przykładów:

ETag: "xyzzy"
ETag: W/"xyzzy"
ETag: ""

Lokalizacja

Pole nagłówka odpowiedzi lokalizacji służy do przekierowania odbiorcy do lokalizacji innej niż identyfikator URI żądania w celu zakończenia. Ogólna składnia to:

Location : absoluteURI

Oto prosty przykład:

Location: http://www.tutorialspoint.org/http/index.htm

Pole nagłówka Content-Location różni się od pola Location tym, że Content-Location identyfikuje oryginalną lokalizację jednostki zawartej w żądaniu.

Proxy-Authenticate

Pole nagłówka odpowiedzi Proxy-Authenticate musi być zawarte jako część odpowiedzi 407 (Wymagane uwierzytelnienie proxy). Ogólna składnia to:

Proxy-Authenticate  : challenge

Ponów po

Pole nagłówka „ Ponów próbę po odpowiedzi” może być używane z odpowiedzią 503 (Usługa niedostępna), aby wskazać, jak długo usługa ma być niedostępna dla żądającego klienta. Ogólna składnia to:

Retry-After : HTTP-date | delta-seconds

Przykłady:

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

W tym drugim przykładzie opóźnienie wynosi 2 minuty.

serwer

Pole nagłówka odpowiedzi serwera zawiera informacje o oprogramowaniu używanym przez serwer pochodzenia do obsługi żądania. Ogólna składnia to:

Server : product | comment

Oto prosty przykład:

Server: Apache/2.2.14 (Win32)

Jeśli odpowiedź jest przekazywana przez serwer proxy, aplikacja proxy nie może modyfikować nagłówka odpowiedzi serwera.

Set-Cookie

Pole nagłówka odpowiedzi Set-Cookie zawiera parę nazwa / wartość informacji do zachowania dla tego adresu URL. Ogólna składnia to:

Set-Cookie: NAME=VALUE; OPTIONS

Nagłówek odpowiedzi Set-Cookie zawiera token Set-Cookie, po którym następuje rozdzielona przecinkami lista zawierająca jeden lub więcej plików cookie. Oto możliwe wartości, które możesz określić jako opcje:

SN Opcje i opis
1 Comment=comment

Ta opcja może służyć do określenia dowolnego komentarza związanego z plikiem cookie.

2 Domain=domain

Atrybut domeny określa domenę, dla której plik cookie jest ważny.

3 Expires=Date-time

Data wygaśnięcia pliku cookie. Jeśli jest puste, plik cookie wygaśnie, gdy odwiedzający zamknie przeglądarkę.

4 Path=path

Atrybut Path określa podzbiór adresów URL, do których odnosi się ten plik cookie.

5 Secure

Instruuje agenta użytkownika, aby zwracał plik cookie tylko w przypadku bezpiecznego połączenia.

Poniżej znajduje się przykład prostego nagłówka pliku cookie wygenerowanego przez serwer:

Set-Cookie: name1=value1,name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT

Różnią się

Pole nagłówka odpowiedzi Vary określa, że ​​jednostka ma wiele źródeł i dlatego może się zmieniać w zależności od określonej listy nagłówków żądania. Oto ogólna składnia:

Vary : field-name

Możesz określić wiele nagłówków oddzielonych przecinkami i wartość gwiazdki „*” oznacza, że ​​nieokreślone parametry nie są ograniczone do nagłówków żądań. Oto prosty przykład:

Vary: Accept-Language, Accept-Encoding

W nazwach pól wielkość liter nie jest rozróżniana.

Uwierzytelnianie WWW

Pole nagłówka odpowiedzi WWW-Authenticate musi być zawarte w komunikatach odpowiedzi 401 (nieautoryzowanych). Wartość pola składa się z co najmniej jednego wezwania, które wskazuje schemat (y) uwierzytelniania i parametry mające zastosowanie do identyfikatora URI żądania. Ogólna składnia to:

WWW-Authenticate : challenge

Wartość pola WWW-Authenticate może zawierać więcej niż jedno wezwanie lub jeśli podano więcej niż jedno pole nagłówka WWW-Authenticate, zawartość samego wezwania może zawierać listę parametrów uwierzytelniania oddzielonych przecinkami. Oto prosty przykład:

WWW-Authenticate: BASIC realm="Admin"

Nagłówki jednostek

Dopuszczać

Pole Zezwalaj na nagłówek jednostki zawiera zestaw metod obsługiwanych przez zasób identyfikowany przez identyfikator URI żądania. Ogólna składnia to:

Allow : Method

Możesz określić wiele metod oddzielonych przecinkami. Oto prosty przykład:

Allow: GET, HEAD, PUT

To pole nie może uniemożliwić klientowi wypróbowania innych metod.

Kodowanie treści

Pole nagłówka encji Content-Encoding jest używane jako modyfikator typu nośnika. Ogólna składnia to:

Content-Encoding : content-coding

Kodowanie treści jest charakterystyczną cechą jednostki identyfikowanej przez Request-URI. Oto prosty przykład:

Content-Encoding: gzip

Jeśli kodowanie treści jednostki w komunikacie żądania jest nie do przyjęcia dla serwera pochodzenia, serwer powinien odpowiedzieć kodem stanu 415 (nieobsługiwany typ nośnika).

Język treści

Pole nagłówka encji Content-Language opisuje język (i) naturalny (-e) docelowej publiczności dla zamkniętej jednostki. Oto ogólna składnia:

Content-Language : language-tag

W przypadku treści przeznaczonych dla wielu odbiorców może być wymienionych wiele języków. Oto prosty przykład:

Content-Language: mi, en

Głównym celem Content-Language jest umożliwienie użytkownikowi identyfikowania i rozróżniania jednostek zgodnie z preferowanym językiem użytkownika.

Długość treści

Pole nagłówka encji Content-Length wskazuje rozmiar treści encji, w dziesiętnej liczbie OCTET, wysłanych do odbiorcy lub, w przypadku metody HEAD, rozmiar ciała encji, który zostałby wysłany, gdyby żądanie było GET. Ogólna składnia to:

Content-Length : DIGITS

Oto prosty przykład:

Content-Length: 3495

Dowolna długość zawartości większa lub równa zero jest prawidłową wartością.

Lokalizacja zawartości

Pole nagłówka jednostki Content-Location może być użyte do podania lokalizacji zasobów dla jednostki zawartej w wiadomości, gdy jednostka ta jest dostępna z lokalizacji innej niż identyfikator URI żądanego zasobu. Ogólna składnia to:

Content-Location:  absoluteURI | relativeURI

Oto prosty przykład:

Content-Location: http://www.tutorialspoint.org/http/index.htm

Wartość Content-Location definiuje również podstawowy identyfikator URI dla jednostki.

Content-MD5

Pole nagłówka jednostki Content-MD5 może być użyte do dostarczenia skrótu MD5 jednostki w celu sprawdzenia integralności wiadomości po otrzymaniu. Ogólna składnia to:

Content-MD5  : md5-digest using base64 of 128 bit MD5 digest as per RFC 1864

Oto prosty przykład:

Content-MD5  : 8c2d46911f3f5a326455f0ed7a8ed3b3

Skrót MD5 jest obliczany na podstawie zawartości treści encji, w tym kodowania treści, które zostało zastosowane, ale bez kodowania transferu zastosowanego do treści wiadomości.

Zakres zawartości

Pole nagłówka encji zakresu treści jest wysyłane z częściową treścią encji, aby określić, gdzie w całej treści encji należy zastosować częściową treść . Ogólna składnia to:

Content-Range : bytes-unit SP first-byte-pos "-" last-byte-pos

Przykłady wartości specyfikacji zakresu zawartości bajtów przy założeniu, że jednostka zawiera łącznie 1234 bajty:

- The first 500 bytes:
Content-Range : bytes 0-499/1234

- The second 500 bytes:
Content-Range : bytes 500-999/1234

- All except for the first 500 bytes:
Content-Range : bytes 500-1233/1234

- The last 500 bytes:
Content-Range : bytes 734-1233/1234

Gdy wiadomość HTTP zawiera zawartość pojedynczego zakresu, treść ta jest przesyłana z nagłówkiem Content-Range i nagłówkiem Content-Length pokazującym liczbę faktycznie przesłanych bajtów. Na przykład,

HTTP/1.1 206 Partial content
Date: Wed, 15 Nov 1995 06:25:24 GMT
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
Content-Range: bytes 21010-47021/47022
Content-Length: 26012
Content-Type: image/gif

Typ zawartości

Pole nagłówka encji Content-Type wskazuje typ nośnika treści encji wysłanej do odbiorcy lub, w przypadku metody HEAD, typ nośnika, który zostałby wysłany, gdyby żądanie było GET. Ogólna składnia to:

Content-Type : media-type

Oto przykład:

Content-Type: text/html; charset=ISO-8859-4

Wygasa

W polu nagłówka encji wygasa data / godzina, po której odpowiedź jest uważana za nieaktualną. Ogólna składnia to:

Expires : HTTP-date

Oto przykład:

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

Ostatnio zmodyfikowany

Pole nagłówka jednostki Last-Modified wskazuje datę i godzinę, w której serwer pochodzenia uważa, że ​​wariant został ostatnio zmodyfikowany. Ogólna składnia to:

Last-Modified: HTTP-date

Oto przykład:

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