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