6.1 Rodzaje nagłówków

Nagłówki żądań http to w rzeczywistości informacje o usługach dla klienta http i serwera http. Ale jest to bardzo ważne, a jeśli w ogóle ich nie rozumiesz, często będzie to dla ciebie schodzić na bok. Więc przynajmniej o nich poczytaj.

Wszystkie nagłówki http można podzielić na 4 główne grupy:

# Typ nagłówka Opis Notatka
1 Nagłówki ogólne Nagłówki ogólne Używane w żądaniach i odpowiedziach
2 Nagłówki żądań Nagłówki żądań Używane tylko w żądaniach
3 nagłówki odpowiedzi Nagłówki odpowiedzi Używane tylko w odpowiedziach
4 Nagłówki encji Nagłówki jednostek Towarzyszyć każdej jednostce wiadomości

6.2 Klient użytkownika

Najważniejszym i najbardziej popularnym nagłówkiem jest User-Agent . Jest to specjalny ciąg opisujący, który klient wysyła żądanie do serwera. To jest imię klienta.

Często serwer nieznacznie dostosuje swoją odpowiedź do osoby żądającej. Na przykład, jeśli z żądania jasno wynika, że ​​pochodzi ono z przeglądarki telefonu komórkowego, można mu nadać mobilną wersję strony HTML.

Nierzadko spamboty, menedżery pobierania i niektóre przeglądarki wysyłają fałszywe ciągi User-Agent , aby udawać legalnych klientów. Ta sytuacja jest znana jako fałszowanie agenta użytkownika lub fałszowanie agenta użytkownika.

Na przykład mój User-Agent wygląda teraz tak:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0

Zawiera informacje o przeglądarce, systemie operacyjnym i silniku sieciowym przeglądarki.

6.3 Typ treści

Drugim najpopularniejszym nagłówkiem jest Content-Type . Służy do określenia typu MIME zasobu obsługiwanego przez serwer.

Nawet u zarania Internetu rodzaje przesyłanych treści medialnych były dla wygody ustandaryzowane. Nazywa się je Internet Media Types lub w skrócie MimeTypes . Dzielą się one na 9 kategorii:

  • aplikacja
  • audio
  • przykład
  • obraz
  • wiadomość
  • Model
  • wieloczęściowy
  • tekst
  • wideo

Przykłady:

Kategoria Typ Opis
audio audio/mp4 Plik audio w formacie mp4
audio/aac plik dźwiękowy AAC
obraz obraz/gif obrazek w gifie
obraz/jpeg obrazek jpeg
obraz/png obrazek png
tekst tekst/css plik CSS
tekst/html Plik HTML
wideo wideo/mpeg Plik wideo w formacie mpeg
wideo/internet Plik wideo w formacie webm
wideo/3gpp Plik wideo w formacie 3gpp
aplikacja application/x-www-formularz-urlencoded Zakodowane dane
aplikacja/zip Archiwum zip
aplikacja/javascript JavaScript
aplikacja/xml XML

Zwykle serwer wie, jakie dane podaje. Ale jeśli generujesz odpowiedź serwera za pomocą własnego kodu, musisz określić typ odpowiedzi (Content-Type) swojego serwera.

6.4 Długość treści

Ten nagłówek określa długość odpowiedzi serwera . Jeśli w prosty sposób, to rozmiar danego pliku. Nie musisz ręcznie ustawiać tej opcji. Chociaż może warto spojrzeć na to, co podał serwer, jeśli z jakiegoś powodu odpowiedź nie nadeszła.

6.5 Zaakceptuj kodowanie

Za pomocą tego nagłówka klient może wskazać serwerowi, że obsługuje różne algorytmy kompresji treści . W ten sposób serwer może najpierw zarchiwizować zawartość, na przykład za pomocą archiwum zip, a następnie wysłać ją do klienta, a klient może poprawnie odtworzyć oryginalną zawartość.

Zaletą archiwizacji jest to, że im mniejszy plik, tym szybszy transfer. Wady archiwizacji - dodatkowe obciążenie klienta i serwera. Archiwizacja ma sens przy przesyłaniu dużych plików i często nie ma sensu przy przesyłaniu małych.

Przykład takiego nagłówka:

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

Gdzie deflatei gzipsą obsługiwane algorytmy kompresji danych, a qoznacza stopień kompresji.