czwartek,
Nagłówki HTTP serwera
Nagłówki HTTP wysyłane przez serwer WWW są częścią odpowiedzi HTTP, którą serwer przesyła do klienta (zazwyczaj przeglądarki internetowej) w odpowiedzi na żądanie HTTP. Zawierają one różne informacje dotyczące zasobu, który jest dostarczany, oraz o samym serwerze.
Typowe nagłówki HTTP
Należy pamiętać, że to tylko niektóre z możliwych nagłówków HTTP, a ich wykorzystanie zależy od konkretnego przypadku użycia i konfiguracji serwera.
Content-Type
Określa typ MIME zasobu, który jest przesyłany. Na przykład Content-Type: text/html
dla dokumentów HTML.
Content-Length
Długość odpowiedzi w bajtach. Na przykład Content-Length: 348
.
Content-Encoding
Typ kodowania treści użyty do kompresji danych odpowiedzi. Przykłady to gzip
lub deflate
.
Content-Language
Określa język danych odpowiedzi, np. Content-Language: en-US
.
Server
Informacje o oprogramowaniu serwera, np. Server: Apache/2.4.1 (Unix)
.
Set-Cookie
Używany do wysyłania ciasteczek z serwera do klienta. Na przykład Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
.
Cache-Control
Instrukcje dotyczące cachowania odpowiedzi, np. Cache-Control: no-cache
.
Expires
Data i czas, po których odpowiedź powinna być uznana za przestarzałą. Na przykład Expires: Thu, 01 Dec 1994 16:00:00 GMT
.
Last-Modified
Data i czas ostatniej modyfikacji zasobu. Na przykład Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
.
ETag
Unikalny identyfikator dla wersji konkretnego zasobu. Używany do optymalizacji cache i unikania niepotrzebnych transferów danych.
Location
Używany w odpowiedziach przekierowujących (np. 301, 302) do wskazania adresu URL, na który klient powinien zostać przekierowany.
WWW-Authenticate
Wymagany przy odpowiedziach 401 (Unauthorized), określa metodę uwierzytelniania, której należy użyć do dostępu do zasobu.
Access-Control-Allow-Origin
Określa, które domeny mogą uzyskać dostęp do zasobu w kontekście zasad Same-Origin Policy (SOP) w aplikacjach webowych.
Strict-Transport-Security
Instrukcje dla przeglądarek, aby w przyszłości komunikowały się z serwerem tylko za pomocą bezpiecznych połączeń HTTPS.
X-Frame-Options
Instrukcje dla przeglądarek dotyczące możliwości osadzania strony w ramkach (frames) lub iframe'ach, służące do ochrony przed atakami typu clickjacking.
X-XSS-Protection
Ustawienia związane z ochroną przed atakami typu cross-site scripting (XSS) w niektórych przeglądarkach.
X-Content-Type-Options
Zapobiega próbom przeglądarek do zgadywania (sniffing) typu MIME zasobu, co może być wykorzystane w atakach.
Przykłady
Przykłady obejmują niektóre z najczęściej używanych nagłówków HTTP wysyłanych przez serweri obrazują, jak serwer może komunikować różne aspekty odpowiedzi i zarządzać interakcjami z klientem za ich pomocą.
Content-Type
Content-Type: text/html; charset=UTF-8
Ten nagłówek informuje, że serwer wysyła dokument HTML z kodowaniem znaków UTF-8.
Content-Length
Content-Length: 1234
Oznacza, że długość odpowiedzi wynosi 1234 bajty.
Content-Encoding
Content-Encoding: gzip
Wskazuje, że treść została skompresowana przy użyciu gzip.
Content-Language
Content-Language: en-US
Określa, że zawartość jest w języku angielskim, wariant amerykański.
Server
Server: nginx/1.18.0
Informuje, że serwerem jest nginx w wersji 1.18.0.
Set-Cookie
Set-Cookie: sessionId=e3b0c44298fc1; Path=/; Expires=Wed, 09 Jun 2024 10:18:14 GMT
Ustawia ciasteczko o nazwie sessionId
z określoną wartością, ścieżką i datą wygaśnięcia.
Cache-Control
Cache-Control: max-age=3600, must-revalidate
Wskazuje, że odpowiedź może być przechowywana w pamięci podręcznej przez 3600 sekund (1 godzinę) i musi być ponownie zweryfikowana po tym czasie.
Expires
Expires: Sat, 26 Jul 2025 05:00:00 GMT
Określa, że zawartość wygaśnie i będzie uznana za przestarzałą w podanym czasie.
Last-Modified
Last-Modified: Mon, 23 May 2024 22:38:34 GMT
Data i czas ostatniej modyfikacji zasobu.
ETag
ETag: "687dae7a8e2c9-3fb25"
Unikalny identyfikator wersji zasobu.
Location
Location: https://www.example.com/newpage.html
Przekierowuje klienta do nowego adresu URL.
WWW-Authenticate
WWW-Authenticate: Basic realm="Private Area"
Wymaga uwierzytelnienia za pomocą metody Basic do dostępu do zasobu.
Access-Control-Allow-Origin
Access-Control-Allow-Origin: *
Pozwala na dostęp do zasobu ze wszystkich domen.
Strict-Transport-Security
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
Wymusza bezpieczne połączenia HTTPS na przyszłe żądania.
X-Frame-Options
X-Frame-Options: DENY
Zapobiega osadzaniu strony w ramkach.
X-XSS-Protection
X-XSS-Protection: 1; mode=block
Aktywuje ochronę przed atakami XSS w przeglądarce.
X-Content-Type-Options
X-Content-Type-Options: nosniff
Zapobiega próbom zgadywania typu MIME zasobu przez przeglądarkę.