Lista pól nagłówka HTTP
HTTP |
---|
Metody żądań |
Pola nagłówka |
Kody statusu odpowiedzi |
Bezpieczne metody kontroli dostępu |
Luki w zabezpieczeniach |
Pola nagłówka HTTP to lista ciągów znaków wysyłanych i odbieranych zarówno przez program kliencki, jak i serwer przy każdym żądaniu i odpowiedzi HTTP. Te nagłówki są zwykle niewidoczne dla użytkownika końcowego i są przetwarzane lub rejestrowane tylko przez serwer i aplikacje klienckie. Określają sposób kodowania informacji wysyłanych/odbieranych przez połączenie (jak w Content-Encoding ), weryfikację sesji i identyfikację klienta (jak w ciasteczkach przeglądarki , adresie IP, kliencie użytkownika ) lub ich anonimowość (maskowanie VPN lub proxy, fałszowanie agenta użytkownika), sposób, w jaki serwer powinien obchodzić się z danymi (jak w przypadku funkcji Do-Not-Track ), wiek (czas przebywania we współdzielonej pamięci podręcznej ) dokumentu pobrane m.in.
Format ogólny
W HTTP w wersji 1.x pola nagłówka są przesyłane po linii żądania (w przypadku wiadomości HTTP żądania) lub linii odpowiedzi (w przypadku wiadomości HTTP odpowiedzi), która jest pierwszą linią wiadomości. Pola nagłówka to rozdzielone dwukropkami pary klucz-wartość w ciągu znaków zwykłego tekstu , zakończone sekwencją znaków powrotu karetki (CR) i nowego wiersza (LF). Koniec sekcji nagłówka jest oznaczony pustą linią pola, co skutkuje transmisją dwóch kolejnych par CR-LF. W przeszłości długie linie można było składać w wiele linii; linie kontynuacji są oznaczone obecnością spacji (SP) lub poziomej tabulacji (HT) jako pierwszego znaku w następnej linii. To składanie zostało uznane za przestarzałe w dokumencie RFC 7230.
HTTP/2 i HTTP/3 zamiast tego używają protokołu binarnego , w którym nagłówki są kodowane w jednym nagłówku
i zero lub więcej ramek KONTYNUACJI przy użyciu HPACK (HTTP/2) lub QPACK (HTTP/3), które zapewniają wydajną kompresję nagłówka.
Wiersz żądania lub odpowiedzi z protokołu HTTP/1 został również zastąpiony kilkoma polami pseudonagłówka, z których każde zaczyna się od dwukropka ( : )
.
Nazwy pól
Podstawowy zestaw pól jest znormalizowany przez Internet Engineering Task Force (IETF) w dokumentach RFC 9110 i 9111 . Nazwy pól , pola nagłówków i repozytorium tymczasowych rejestracji są utrzymywane przez IANA . Każda aplikacja może zdefiniować dodatkowe nazwy pól i dopuszczalne wartości.
W nazwach pól nagłówka nie jest rozróżniana wielkość liter. Kontrastuje to z nazwami metod HTTP (GET, POST itp.), w których rozróżniana jest wielkość liter.
HTTP/2 nakłada pewne ograniczenia na określone pola nagłówka (patrz poniżej).
Niestandardowe pola nagłówka były konwencjonalnie oznaczane przez poprzedzenie nazwy pola X-
, ale ta konwencja została wycofana w czerwcu 2012 r. Z powodu niedogodności, jakie powodowała, gdy niestandardowe pola stały się standardem. Wcześniejsze ograniczenie korzystania z obniżonej wersji
zostało zniesione w marcu 2013 r.
Wartości pól
Kilka pól może zawierać komentarze (np. pola User-Agent, Server, Via), które oprogramowanie może zignorować.
Wiele wartości pól może zawierać parę klucz-wartość jakości ( q ) oddzieloną znakiem równości , określającą wagę używaną w negocjacjach treści . Na przykład przeglądarka może wskazać, że akceptuje informacje w języku niemieckim lub angielskim, z preferowanym językiem niemieckim, ustawiając wartość q dla de
wyższą niż en ,
w następujący sposób:
Zaakceptuj język: de; q=1,0, en; q=0,5
Limity wielkości
Norma nie nakłada żadnych ograniczeń co do rozmiaru każdej nazwy pola nagłówka lub wartości, ani co do liczby pól. Jednak większość serwerów, klientów i oprogramowania proxy nakłada pewne ograniczenia ze względów praktycznych i bezpieczeństwa. Na przykład serwer Apache 2.3 domyślnie ogranicza rozmiar każdego pola do 8190 bajtów, a w jednym żądaniu może być maksymalnie 100 pól nagłówka.
Pola żądań
Standardowe pola żądania
Nazwa | Opis | Przykład | Status | Standard |
---|---|---|---|---|
CEL | Akceptowalne manipulacje instancjami dla żądania. | A-IM: kanał |
Stały | RFC3229 _ |
Zaakceptować | Rodzaje mediów , które są akceptowalne dla odpowiedzi. Zobacz negocjowanie zawartości . | Zaakceptuj: tekst/html |
Stały | RFC9110 _ |
Zaakceptuj zestaw znaków | Akceptowalne zestawy znaków. | Zaakceptuj zestaw znaków: utf-8 |
Stały | RFC9110 _ |
Zaakceptuj-Datetime | Dopuszczalna wersja w czasie. | Zaakceptuj-Datetime: czwartek, 31 maja 2007 r., 20:35:00 GMT |
Tymczasowy | RFC7089 _ |
Zaakceptuj kodowanie | Lista akceptowanych kodowań. Zobacz Kompresja HTTP . | Zaakceptuj kodowanie: gzip, deflate |
Stały | RFC9110 _ |
Zaakceptuj język | Lista akceptowanych języków ludzkich do odpowiedzi. Zobacz negocjowanie zawartości . | Zaakceptuj język: en-US |
Stały | RFC9110 _ |
Metoda-Żądania-Kontroli Dostępu, Nagłówki-Żądań-Kontroli Dostępu |
Inicjuje żądanie udostępnienia zasobów między źródłami w Origin (poniżej). | Metoda żądania kontroli dostępu: GET |
Stały: standardowy | |
Upoważnienie | Poświadczenia uwierzytelniające dla uwierzytelniania HTTP . | Autoryzacja: podstawowa QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Stały | RFC9110 _ |
Kontrola pamięci podręcznej | Służy do określania dyrektyw, które muszą być przestrzegane przez wszystkie mechanizmy buforowania w łańcuchu żądanie-odpowiedź. | Kontrola pamięci podręcznej: bez pamięci podręcznej |
Stały | RFC9111 _ |
Połączenie | Opcje kontrolne dla bieżącego połączenia i lista pól żądań typu hop-by-hop. Nie wolno używać z HTTP/2. |
Połączenie: utrzymanie aktywności
|
Stały | RFC9110 _ |
Kodowanie treści | Typ kodowania używanego w danych. Zobacz Kompresja HTTP . | Kodowanie treści: gzip |
Stały | RFC9110 _ |
Długość treści | Długość treści żądania w oktetach (8-bitowych bajtach). | Długość treści: 348 |
Stały | RFC9110 _ |
Treść-MD5 | Zakodowana w formacie Base64 binarna suma MD5 zawartości treści żądania. | Treść-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
Przestarzały | Dokumenty RFC 1544 , 1864 , 4021 |
Typ zawartości | Typ nośnika treści żądania (używany z żądaniami POST i PUT). | Typ treści: application/x-www-form-urlencoded |
Stały | RFC9110 _ |
Ciastko | Plik cookie HTTP wysłany wcześniej przez serwer za pomocą Set-Cookie (poniżej). |
Plik cookie: $Wersja=1; Skórka=nowa; |
Stały: standardowy | RFC 2965 , 6265 |
Data | Data i godzina powstania wiadomości (w formacie „HTTP-date” zgodnie z definicją w dokumencie RFC 9110: semantyka HTTP, sekcja 5.6.7 „Formaty daty/godziny” ). | Data: wtorek, 15 listopada 1994 r., 08:12:31 GMT |
Stały | RFC9110 _ |
Oczekiwać | Wskazuje, że klient wymaga określonego zachowania serwera. | Spodziewaj się: 100-kontynuuj |
Stały | RFC9110 _ |
Przekazano | Ujawnij oryginalne informacje o kliencie łączącym się z serwerem WWW za pośrednictwem serwera proxy HTTP. |
Przekazano: for=192.0.2.60;proto=http;by=203.0.113.43 Przekazano: for=192.0.2.43, for=198.51.100.17
|
Stały | RFC7239 _ |
Z | Adres e-mail użytkownika zgłaszającego żądanie. | Od: uż[email protected] |
Stały | RFC9110 _ |
Gospodarz | Nazwa domeny serwera (dla hostingu wirtualnego ) oraz numer portu TCP , na którym nasłuchuje serwer. Numer portu można pominąć, jeśli port jest standardowym portem dla żądanej usługi. Obowiązkowe od HTTP/1.1. Jeśli żądanie jest generowane bezpośrednio w HTTP/2, nie należy go używać. |
Host: en.wikipedia.org:8080
|
||
Ustawienia HTTP2 | Żądanie aktualizacji z HTTP/1.1 do HTTP/2 MUSI zawierać dokładnie jedno pole nagłówka HTTP2-Setting . Pole nagłówka HTTP2-Settings to pole nagłówka specyficzne dla połączenia, które zawiera parametry regulujące połączenie HTTP/2, dostarczane w oczekiwaniu na zaakceptowanie przez serwer żądania aktualizacji. |
Ustawienia HTTP2: token64
|
Stały: standardowy | |
Jeśli-dopasuj | Wykonuj akcję tylko wtedy, gdy jednostka dostarczona przez klienta jest zgodna z tą samą jednostką na serwerze. Dotyczy to głównie metod takich jak PUT, które aktualizują zasób tylko wtedy, gdy nie został on zmodyfikowany od czasu ostatniej aktualizacji użytkownika. | Jeśli dopasowanie: „737060cd8c284d8af7ad3082f209582d” |
Stały | RFC9110 _ |
Jeśli-zmodyfikowano-od | Umożliwia zwrócenie 304 Not Modified, jeśli treść nie uległa zmianie. | Jeśli-zmodyfikowano-od: sob., 29 października 1994 r. 19:43:31 GMT |
Stały | RFC9110 _ |
Brak dopasowania | Umożliwia zwrócenie komunikatu 304 Not Modified, jeśli treść jest niezmieniona, patrz HTTP ETag . | Brak dopasowania: „737060cd8c284d8af7ad3082f209582d” |
Stały | RFC9110 _ |
Jeśli-zakres | Jeśli istota się nie zmieniła, wyślij mi brakujące części; w przeciwnym razie wyślij mi całą nową jednostkę. | Jeśli-zakres: „737060cd8c284d8af7ad3082f209582d” |
Stały | RFC9110 _ |
Jeśli-niezmodyfikowany-od | Wysyłaj odpowiedź tylko wtedy, gdy encja nie była modyfikowana od określonego czasu. | Jeśli-niemodyfikowany-od: Sob, 29 października 1994 19:43:31 GMT |
Stały | RFC9110 _ |
Max-Forward | Ogranicz liczbę przypadków, w których wiadomość może zostać przekazana przez serwery proxy lub bramy. | Maksymalna liczba napastników: 10 |
Stały | RFC9110 _ |
Pochodzenie | Inicjuje żądanie udostępnienia zasobów między źródłami (prosi serwer o pola odpowiedzi Access-Control-* ). | Pochodzenie: http://www.example-social-network.com |
Stały: standardowy | RFC6454 _ |
Pragma | Pola specyficzne dla implementacji, które mogą mieć różne efekty w dowolnym miejscu łańcucha żądanie-odpowiedź. | Pragma: bez pamięci podręcznej |
Stały | RFC9111 _ |
Woleć | Pozwala klientowi zażądać, aby serwer zastosował określone zachowania podczas przetwarzania żądania. |
Preferuj: powrót = reprezentacja
|
Stały | RFC7240 |
Upoważnienie pełnomocnika | Poświadczenia autoryzacji do łączenia się z serwerem proxy. | Autoryzacja proxy: podstawowa QWxhZGRpbjpvcGVuIHNlc2FtZQ== |
Stały | RFC9110 _ |
Zakres | Żądaj tylko części encji. Bajty są numerowane od 0. Zobacz Obsługa bajtów . | Zakres: bajtów=500-999 |
Stały | RFC9110 _ |
Referent [ sic ] | Jest to adres poprzedniej strony internetowej, z której nastąpiło przekierowanie do aktualnie żądanej strony. (Słowo „referrer” zostało błędnie zapisane w RFC, a także w większości implementacji do tego stopnia, że stało się standardowym użyciem i jest uważane za poprawną terminologię) | Strona odsyłająca: http://en.wikipedia.org/wiki/Main_Page |
Stały | RFC9110 _ |
TE | Kodowanie transferu, które agent użytkownika jest skłonny zaakceptować: można użyć tych samych wartości, co w polu nagłówka odpowiedzi Transfer-Encoding, plus wartość „zwiastunów” (związana z metodą przesyłania „fragmented”), aby powiadomić serwer, którego oczekuje otrzymać dodatkowe pola w zwiastunie po ostatnim kawałku o zerowym rozmiarze. W protokole HTTP/2 obsługiwane są tylko |
TE: przyczepy, spuść powietrze |
Stały | RFC9110 _ |
Przyczepa | Wartość pola Trailer general wskazuje, że dany zestaw pól nagłówka jest obecny w zwiastunie wiadomości zakodowanej przy użyciu fragmentarycznego kodowania transferu . |
Zwiastun: Max-Forwards
|
Stały | RFC9110 _ |
Kodowanie transferu | Forma kodowania używana do bezpiecznego przekazania podmiotu użytkownikowi. Obecnie zdefiniowane metody to: chunked , compress, deflate, gzip, identity. Nie wolno używać z HTTP/2. |
Kodowanie transferu: podzielone
|
Stały | RFC9110 _ |
Agent użytkownika | Ciąg agenta użytkownika agenta użytkownika. | User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0 |
Stały | RFC9110 _ |
Aktualizacja | Poproś serwer o uaktualnienie do innego protokołu. Nie wolno używać w protokole HTTP/2. |
Aktualizacja: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket |
Stały | RFC9110 _ |
Przez | Informuje serwer o serwerach proxy, przez które wysłano żądanie. | Przez: 1.0 fred, 1.1 example.com (Apache/1.1) |
Stały | RFC9110 _ |
Ostrzeżenie | Ogólne ostrzeżenie o możliwych problemach z treścią podmiotu. | Ostrzeżenie: 199 Różne ostrzeżenia |
Przestarzały | RFC 7234 , 9111 |
Typowe niestandardowe pola żądań
Nazwa pola | Opis | Przykład |
---|---|---|
Niezabezpieczone żądania aktualizacji | Informuje serwer, który (prawdopodobnie w trakcie migracji HTTP -> HTTPS) obsługuje mieszane treści, że klient wolałby przekierowanie do HTTPS i może obsłużyć Content-Security-Policy: upgrade-insecure-requests
Nie wolno używać z HTTP/2 |
Niezabezpieczone żądania aktualizacji: 1
|
X-Wnioskowano-Z | Używany głównie do identyfikacji żądań Ajax (większość frameworków JavaScript wysyła to pole z wartością XMLHttpRequest ); identyfikuje również aplikacje na Androida za pomocą WebView |
X-Requested-With: XMLHttpRequest
|
DNT | Żąda od aplikacji internetowej wyłączenia śledzenia użytkownika. To jest wersja Mozilli pola nagłówka X-Do-Not-Track (od Firefoksa 4.0 Beta 11). Safari i IE9 również obsługują to pole. W dniu 7 marca 2011 r. projekt wniosku został złożony do IETF. Grupa W3C ds. ochrony przed śledzeniem opracowuje specyfikację. |
DNT: 1 (bez śledzenia włączone)
|
X-przekazany-za | De facto standard identyfikacji początkowego adresu IP klienta łączącego się z serwerem WWW za pośrednictwem serwera proxy HTTP lub modułu równoważenia obciążenia. Zastąpiony przez przekazany nagłówek. |
X-Forwarded-For: klient1, proxy1, proxy2
|
X-Forwarded-Host | De facto standard identyfikacji pierwotnego hosta żądanego przez klienta w nagłówku żądania Host HTTP, ponieważ nazwa hosta i/lub port odwrotnego proxy (systemu równoważenia obciążenia) może różnić się od serwera pochodzenia obsługującego żądanie. Zastąpiony przez przekazany nagłówek. |
X-Forwarded-Host: en.wikipedia.org:8080
|
X-Forwarded-Proto | De facto standard identyfikacji protokołu źródłowego żądania HTTP, ponieważ odwrotne proxy (lub system równoważenia obciążenia) może komunikować się z serwerem WWW za pomocą HTTP, nawet jeśli żądanie do odwrotnego proxy to HTTPS. Alternatywna forma nagłówka (X-ProxyUser-Ip) jest używana przez klientów Google rozmawiających z serwerami Google. Zastąpiony przez przekazany nagłówek. |
X-Forwarded-Proto: https
|
Https front-endu | Niestandardowe pole nagłówka używane przez aplikacje firmy Microsoft i systemy równoważenia obciążenia |
Front-End-Https: włączony
|
Zastąpienie metody X-Http | Żąda od aplikacji internetowej zastąpienia metody określonej w żądaniu (zwykle POST) metodą podaną w polu nagłówka (zwykle PUT lub DELETE). Można to wykorzystać, gdy agent użytkownika lub zapora ogniowa uniemożliwia bezpośrednie wysyłanie metod PUT lub DELETE (zauważ, że jest to albo błąd w komponencie oprogramowania, który należy naprawić, albo celowa konfiguracja, w którym to przypadku pominięcie może być źle zrobić). |
Zastąpienie metody X-HTTP: USUŃ
|
Identyfikator urządzenia X-ATT | Umożliwia łatwiejsze parsowanie MakeModel/Firmware, które zwykle znajduje się w ciągu User-Agent urządzeń AT&T |
Identyfikator urządzenia X-Att: GT-P7320/P7320XXLPG
|
Profil X-Wap | Linki do pliku XML w Internecie z pełnym opisem i szczegółami dotyczącymi aktualnie podłączonego urządzenia. W przykładzie po prawej stronie znajduje się plik XML dla AT&T Samsung Galaxy S2. |
profil x-wap: http://wap.samsungmobile.com/uaprof/SGH-I777.xml
|
Połączenie proxy | Zaimplementowane jako niezrozumienie specyfikacji HTTP. Powszechne z powodu błędów w implementacjach wczesnych wersji HTTP. Posiada dokładnie taką samą funkcjonalność jak standardowe pole Connection. Nie wolno używać z HTTP/2. |
Połączenie proxy: utrzymanie aktywności
|
X-UIDH | Głębokie wstawianie pakietu po stronie serwera unikalnego identyfikatora identyfikującego klientów Verizon Wireless ; znany również jako „perma-cookie” lub „supercookie” |
X-UIDH: ...
|
X-Csrf-Token | Służy do zapobiegania fałszowaniu żądań między witrynami . Alternatywne nazwy nagłówków to: X-CSRFToken i X-XSRF-TOKEN
|
X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
|
X-Request-ID, Identyfikator korelacji X, Identyfikator korelacji |
Koreluje żądania HTTP między klientem a serwerem. |
X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
|
Zapisz dane | Nagłówek żądania podpowiedzi klienta Save-Data dostępny w przeglądarkach Chrome, Opera i Yandex umożliwia programistom dostarczanie lżejszych, szybszych aplikacji użytkownikom, którzy zdecydują się na tryb oszczędzania danych w przeglądarce. |
Zapisz dane: wł
|
Pola odpowiedzi
Standardowe pola odpowiedzi
Nazwa pola | Opis | Przykład | Status | Standard |
---|---|---|---|---|
Zaakceptuj-CH | Żąda wskazówek klienta HTTP | Zaakceptuj-CH: UA, Platforma |
Eksperymentalny | RFC8942 _ |
Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers, Access-Control-Max-Age, Access-Control-Allow-Methods, Access-Control-Allow-Headers |
Określanie, które witryny internetowe mogą uczestniczyć w udostępnianiu zasobów między źródłami | Access-Control-Allow-Origin: * |
Stały: standardowy | RFC7480 _ |
Zaakceptuj poprawkę | Określa, które formaty dokumentów poprawek są obsługiwane przez ten serwer | Zaakceptuj poprawkę: text/example;charset=utf-8 |
Stały | RFC5789 _ |
Zaakceptuj zakresy | Jakie typy częściowego zakresu treści obsługuje ten serwer za pośrednictwem udostępniania bajtów | Zaakceptuj zakresy: bajty |
Stały | RFC9110 _ |
Wiek | Wiek obiektu w pamięci podręcznej serwera proxy w sekundach | Wiek: 12 lat |
Stały | RFC9111 _ |
Umożliwić | Prawidłowe metody dla określonego zasobu. Do użycia w metodzie 405 niedozwolone | Zezwalaj: DOBIERZ, GŁOWĘ |
Stały | RFC9110 _ |
Alt-Svc | Serwer używa nagłówka „Alt-Svc” (oznaczającego usługi alternatywne), aby wskazać, że dostęp do jego zasobów można również uzyskać w innej lokalizacji sieciowej (host lub port) lub przy użyciu innego protokołu Podczas korzystania z protokołu HTTP/2 serwery powinny zamiast tego wysyłać ramkę ALTSVC. |
Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200 |
Stały | |
Kontrola pamięci podręcznej | Informuje wszystkie mechanizmy buforowania od serwera do klienta, czy mogą buforować ten obiekt. Jest mierzony w sekundach | Kontrola pamięci podręcznej: maksymalny wiek = 3600 |
Stały | RFC9111 _ |
Połączenie | Opcje sterowania dla bieżącego połączenia i lista pól odpowiedzi typu hop-by-hop. Nie wolno używać z HTTP/2. |
Połączenie: zamknięte |
Stały | RFC9110 _ |
Dyspozycja treści | Możliwość wywołania okna dialogowego „Pobieranie pliku” dla znanego typu MIME w formacie binarnym lub zasugerowania nazwy pliku dla zawartości dynamicznej. Cytaty są konieczne ze znakami specjalnymi. | Treść-dyspozycja: załącznik; nazwa_pliku="nazwa pliku.roz" |
Stały | Dokumenty RFC 2616 , 4021 , 6266 |
Kodowanie treści | Typ kodowania używanego w danych. Zobacz Kompresja HTTP . | Kodowanie treści: gzip |
Stały | RFC9110 _ |
Język treści | Naturalny język lub języki docelowych odbiorców załączonych treści | Język treści: da |
Stały | RFC9110 _ |
Długość treści | Długość treści odpowiedzi w oktetach (8-bitowych bajtów) | Długość treści: 348 |
Stały | RFC9110 _ |
Lokalizacja zawartości | Alternatywna lokalizacja zwróconych danych | Lokalizacja zawartości: /index.htm |
Stały | RFC9110 _ |
Treść-MD5 | formacie Base64 binarna suma MD5 treści odpowiedzi | Treść-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
Przestarzały | Dokumenty RFC 1544 , 1864 , 4021 |
Zakres treści | Gdzie w pełnej treści wiadomości należy ta częściowa wiadomość | Zakres treści: bajty 21010-47021/47022 |
Stały | RFC9110 _ |
Typ zawartości | Typ MIME tej zawartości | Typ zawartości: text/html; zestaw znaków=utf-8 |
Stały | RFC9110 _ |
Data | Data i godzina wysłania wiadomości (w formacie „HTTP-date” zgodnie z RFC 9110) | Data: wtorek, 15 listopada 1994 r., 08:12:31 GMT |
Stały | RFC9110 _ |
Baza Delta | Określa tag jednostki z kodowaniem delta odpowiedzi. | Podstawa Delta: „abc” |
Stały | RFC3229 _ |
Etag | Identyfikator określonej wersji zasobu, często skrót wiadomości | ETag: „737060cd8c284d8af7ad3082f209582d” |
Stały | RFC9110 _ |
Wygasa | Podaje datę/godzinę, po której odpowiedź jest uważana za nieaktualną (w formacie „HTTP-date” zgodnie z definicją w RFC 9110) | Wygasa: czw., 1 grudnia 1994 r., 16:00:00 GMT |
Stały: standardowy | RFC9111 _ |
JESTEM | Manipulacje instancjami zastosowane do odpowiedzi. | IM: karm |
Stały | RFC3229 _ |
Ostatnio zmodyfikowany | Data ostatniej modyfikacji żądanego obiektu (w formacie „HTTP-date” zgodnie z RFC 9110) | Ostatnia modyfikacja: wtorek, 15 listopada 1994 r., 12:45:26 GMT |
Stały | RFC9110 _ |
Połączyć | Używany do wyrażenia relacji typu z innym zasobem, gdzie typ relacji jest zdefiniowany przez RFC 5988 |
Połączyć: ; rel="alternatywny"
|
Stały | RFC5988 _ |
Lokalizacja | Używany w przekierowaniu lub gdy został utworzony nowy zasób. |
|
Stały | RFC9110 _ |
P3P | To pole ma na celu ustawienie polityki P3P , w postaci P3P:CP="your_compact_policy" . Jednak P3P nie odniosło sukcesu, większość przeglądarek nigdy go w pełni nie zaimplementowała, wiele stron internetowych ustawia to pole z fałszywym tekstem polityki, co wystarczyło, aby oszukać przeglądarki istnieniem polityki P3P i przyznać uprawnienia do plików cookie stron trzecich . |
P3P: CP="To nie jest polityka P3P! Zobacz https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P, aby uzyskać więcej informacji." |
Stały | |
Pragma | Pola specyficzne dla implementacji, które mogą mieć różne skutki w dowolnym miejscu łańcucha żądanie-odpowiedź. | Pragma: bez pamięci podręcznej |
Stały | RFC9111 _ |
Zastosowano preferencje | Wskazuje, które tokeny preferencji zostały honorowane przez serwer i zastosowane do przetwarzania żądania. |
Zastosowano preferencje: return=representation
|
Stały | RFC7240 |
Uwierzytelnianie proxy | Poproś o uwierzytelnienie, aby uzyskać dostęp do serwera proxy. | Uwierzytelnianie proxy: podstawowe |
Stały | RFC9110 _ |
Kołki klucza publicznego | Przypinanie klucza publicznego HTTP ogłasza skrót autentycznego certyfikatu TLS witryny | Kołki klucza publicznego: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; |
Stały | RFC7469 _ |
Spróbuj ponownie po | Jeśli encja jest chwilowo niedostępna, to instruuje klienta, aby spróbował ponownie później. Wartość może być określonym przedziałem czasu (w sekundach) lub datą HTTP. |
|
Stały |
RFC9110 _ |
serwer | Nazwa serwera | Serwer: Apache/2.4.1 (Unix) |
Stały | RFC9110 _ |
Ustaw plik cookie | Plik cookie HTTP | Set-Cookie: UserID=JohnDoe; Maksymalny wiek=3600; Wersja=1 |
Stały: standardowy | RFC6265 _ |
Ścisłe bezpieczeństwo transportu | Zasady HSTS informujące klienta HTTP, jak długo buforować zasady HTTPS i czy dotyczy to subdomen. | Strict-Transport-Security: max-age=16070400; zawierać subdomeny |
Stały: standardowy | |
Przyczepa | Wartość pola Trailer general wskazuje, że dany zestaw pól nagłówka jest obecny w zwiastunie wiadomości zakodowanej przy użyciu fragmentarycznego kodowania transferu . | Zwiastun: Max-Forwards |
Stały | RFC9110 _ |
Kodowanie transferu | Forma kodowania używana do bezpiecznego przekazania podmiotu użytkownikowi. Obecnie zdefiniowane metody to: chunked , compress, deflate, gzip, identity. Nie wolno używać z HTTP/2. |
Kodowanie transferu: podzielone |
Stały | RFC9110 _ |
Tk | Nagłówek stanu śledzenia, wartość sugerowana do wysłania w odpowiedzi na DNT (do-not-track), możliwe wartości: „!” - w budowie "?" — dynamiczna „G” — brama do wielu stron „N” — brak śledzenia „T” — śledzenie „C” — śledzenie za zgodą „P” — śledzenie tylko za zgodą „D” — pomijanie DNT „U” — aktualizacja |
Tk: ?
|
Stały | |
Aktualizacja | Poproś klienta o uaktualnienie do innego protokołu. Nie wolno używać w protokole HTTP/2 |
Aktualizacja: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket |
Stały | RFC9110 _ |
Różnić się | Informuje serwery proxy podrzędne, jak dopasować przyszłe nagłówki żądań, aby zdecydować, czy można użyć buforowanej odpowiedzi, zamiast żądać nowej z serwera źródłowego. |
|
Stały | RFC9110 _ |
Przez | Informuje klienta o serwerach proxy, przez które wysłano odpowiedź. | Przez: 1.0 fred, 1.1 example.com (Apache/1.1) |
Stały | RFC9110 _ |
Ostrzeżenie | Ogólne ostrzeżenie o możliwych problemach z treścią podmiotu. | Ostrzeżenie: 199 Różne ostrzeżenia |
Przestarzały | RFC 7234 , 9111 |
Uwierzytelnianie WWW | Wskazuje schemat uwierzytelniania, którego należy użyć w celu uzyskania dostępu do żądanej jednostki. | Uwierzytelnianie WWW: podstawowe |
Stały | RFC9110 _ |
Opcje X-Frame |
Zabezpieczenie przed przechwytywaniem kliknięć : deny - brak renderowania w ramce, sameorigin - brak renderowania w przypadku niezgodności pochodzenia, allow-from - zezwolenie z określonej lokalizacji, allowall - niestandardowe, zezwolenie z dowolnej lokalizacji |
Opcje X-Frame: odmów |
Przestarzały |
Typowe niestandardowe pola odpowiedzi
Nazwa pola | Opis | Przykład |
---|---|---|
Content-Security-Policy, X-Content-Security-Policy, X-WebKit-CSP |
Polityki bezpieczeństwa treści . |
X-WebKit-CSP: default-src 'self'
|
Spodziewaj się-CT | Powiadom, aby preferować wymuszanie przezroczystości certyfikatu . |
Expect-CT: max-age=604800, wymuszaj, report-uri=" https://example.example/report "
|
NEL | Służy do konfigurowania rejestrowania żądań sieciowych. |
NEL : { "report_to" : "nazwa_grupy_raportowania" , "max_age" : 12345 , "include_subdomains" : false , "success_fraction" : 0.0 , "failure_fraction" : 1.0 }
|
Polityka uprawnień | Aby umożliwić lub wyłączyć różne funkcje lub interfejsy API przeglądarki. |
Polityka uprawnień: pełny ekran=(), kamera=(), mikrofon=(), geolokalizacja=(), kohorta zainteresowań=()
|
Odświeżać | Używany w przekierowaniu lub gdy został utworzony nowy zasób. To odświeżenie przekierowuje po 5 sekundach. Rozszerzenie nagłówka wprowadzone przez firmę Netscape i obsługiwane przez większość przeglądarek internetowych. Zdefiniowane przez standard HTML |
Odśwież: 5; adres URL=
|
Zgłoś do | Nakazuje agentowi użytkownika przechowywanie punktów końcowych raportowania dla źródła. |
Report-To : { "group" : "csp-endpoint" , "max_age" : 10886400 , "endpoints" : [ { "url" : "https-url-witryny-która-zbiera-raporty" } ] }
|
Status | Pole nagłówka CGI określające stan odpowiedzi HTTP. Normalne odpowiedzi HTTP zamiast tego używają oddzielnej „linii stanu”, zdefiniowanej w dokumencie RFC 9110. |
Stan: 200 OK
|
Timing-Allow-Origin | Nagłówek odpowiedzi Timing-Allow-Origin określa źródła, które mogą wyświetlać wartości atrybutów pobranych za pomocą funkcji interfejsu API synchronizacji zasobów , które w przeciwnym razie byłyby zgłaszane jako zero ze względu na ograniczenia między źródłami. |
Timing-Allow-Origin: *
|
X-Content-Duration | Podaj czas trwania audio lub wideo w sekundach; obsługiwane tylko przez przeglądarki Gecko |
Czas trwania treści X: 42,666
|
X-Content-Type-Options | Jedyna zdefiniowana wartość, „nosniff”, uniemożliwia Internet Explorerowi podsłuchiwanie MIME odpowiedzi poza zadeklarowanym typem zawartości. Dotyczy to również przeglądarki Google Chrome podczas pobierania rozszerzeń. |
X-Content-Type-Options: nosniff
|
X-Powered-By | Określa technologię (np. ASP.NET, PHP, JBoss) obsługującą aplikację internetową (szczegóły wersji są często w X-Runtime , X-Version lub X-AspNet-Version ) |
X-Powered-By: PHP/5.4.0
|
Przekierowanie X przez | Określa komponent odpowiedzialny za określone przekierowanie. |
X-Redirect-By: WordPress X-Redirect-By: Polylang
|
X-identyfikator-żądania, X-identyfikator-korelacji | Koreluje żądania HTTP między klientem a serwerem. |
X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
|
Kompatybilny z X-UA | Zaleca preferowany silnik renderujący (często tryb zgodności wstecznej) do wyświetlania treści. Służy również do aktywacji Chrome Frame w Internet Explorerze. W standardzie HTML zdefiniowana jest tylko wartość IE=edge .
|
X-UA-Compatible: IE=edge X-UA-Compatible: IE=EmulateIE7 X-UA-Compatible: Chrome=1
|
Ochrona X-XSS | cross-site scripting (XSS). |
Ochrona X-XSS: 1; tryb = blok
|
Efekty wybranych pól
Unikanie buforowania
Jeśli serwer WWW odpowie za pomocą Cache-Control: no-cache
, wówczas przeglądarka internetowa lub inny system buforowania (pośrednie serwery proxy) nie może używać odpowiedzi w celu zaspokojenia kolejnych żądań bez uprzedniego sprawdzenia z serwerem źródłowym (ten proces nazywa się sprawdzaniem poprawności). To pole nagłówka jest częścią protokołu HTTP w wersji 1.1 i jest ignorowane przez niektóre pamięci podręczne i przeglądarki. Można to zasymulować, ustawiając Expires
HTTP version 1.0 na czas wcześniejszy niż czas odpowiedzi. Zauważ, że no-cache nie instruuje przeglądarki ani serwerów proxy o tym, czy zawartość ma być buforowana. Po prostu mówi przeglądarce i serwerom proxy, aby sprawdziły zawartość pamięci podręcznej na serwerze przed jej użyciem (odbywa się to za pomocą wspomnianych powyżej atrybutów If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match). Wysłanie wartości braku pamięci podręcznej instruuje zatem przeglądarkę lub serwer proxy, aby nie korzystały z zawartości pamięci podręcznej jedynie na podstawie „kryteriów aktualności” zawartości pamięci podręcznej. Innym powszechnym sposobem zapobiegania wyświetlaniu użytkownikowi starej zawartości bez weryfikacji jest Kontrola pamięci podręcznej: max-age=0
. To instruuje agenta użytkownika, że zawartość jest nieaktualna i powinna zostać sprawdzona przed użyciem.
Pole nagłówka Cache-Control: no-store
ma na celu poinstruowanie aplikacji przeglądarki, aby dołożyła wszelkich starań, aby nie zapisywać jej na dysku (tj. nie buforować).
Żądanie, aby zasób nie był buforowany, nie gwarantuje, że nie zostanie on zapisany na dysku. W szczególności definicja HTTP/1.1 wprowadza rozróżnienie między magazynami historii a pamięciami podręcznymi. Jeśli użytkownik wróci do poprzedniej strony, przeglądarka może nadal wyświetlać stronę, która została zapisana na dysku w magazynie historii. Jest to prawidłowe zachowanie zgodne ze specyfikacją. Wiele programów użytkownika wykazuje różne zachowania podczas ładowania stron z magazynu historii lub pamięci podręcznej w zależności od tego, czy protokołem jest HTTP, czy HTTPS.
Cache -Control: no-cache
jest również przeznaczone do użycia w żądaniach wysyłanych przez klienta. Jest to sposób, w jaki przeglądarka informuje serwer i wszelkie pośrednie pamięci podręczne, że potrzebuje nowej wersji zasobu. Pragma : no-cache
, zdefiniowane w specyfikacji HTTP/1.0, ma ten sam cel. Jest on jednak zdefiniowany tylko dla nagłówka żądania. Jego znaczenie w nagłówku odpowiedzi nie jest określone. Zachowanie Pragmy: brak pamięci podręcznej
w odpowiedzi jest specyficzna dla implementacji. Podczas gdy niektóre aplikacje klienckie zwracają uwagę na to pole w odpowiedziach, HTTP/1.1 RFC wyraźnie ostrzega przed poleganiem na tym zachowaniu.
Zobacz też
Od tej edycji w tym artykule wykorzystano treść artykułu „Co to jest nagłówek http X-REQUEST-ID?” , którego autorem jest Stefan Kögl ze Stack Exchange, który jest licencjonowany w sposób umożliwiający ponowne wykorzystanie na podstawie licencji Creative Commons Attribution-ShareAlike 3.0 Unported License , ale nie na mocy GFDL . Należy przestrzegać wszystkich odpowiednich warunków.
Od tej edycji ten artykuł używa treści z „Dlaczego platforma ASP.NET dodaje nagłówek HTTP„ X-Powered-By:ASP.NET” w odpowiedziach?” , którego autorem jest Adrian Grigore ze Stack Exchange, który jest licencjonowany w sposób umożliwiający ponowne wykorzystanie na podstawie licencji Creative Commons Attribution-ShareAlike 3.0 Unported License , ale nie na mocy GFDL . Należy przestrzegać wszystkich odpowiednich warunków.
Linki zewnętrzne
- Nagłówki: Stałe nazwy pól nagłówka wiadomości
- RFC 6265 : Mechanizm zarządzania stanem HTTP IETF
- RFC 9110 : Semantyka HTTP
- RFC 9111 : Buforowanie HTTP
- RFC 9112 : HTTP/1.1
- RFC 9113 : HTTP/2
- RFC 9114 : HTTP/3
- RFC 7239 : Przekierowane rozszerzenie HTTP
- RFC 7240 : Preferuj nagłówek dla protokołu HTTP
- Nagłówki HTTP/1.1 z punktu widzenia serwera WWW
- Internet Explorer i niestandardowe nagłówki HTTP — IEInternals firmy EricLaw — Strona główna witryny — Blogi MSDN