Protokół HTTP – co to jest i jak działa?

enterthecode.pl 1 rok temu

Ostatnia aktualizacja 24 marca, 2023

W dzisiejszych czasach protokół HTTP jest niezwykle ważnym elementem infrastruktury internetowej. Dzięki niemu możliwe jest pobieranie treści stron internetowych, przesyłanie formularzy czy też logowanie się na różnego rodzaju serwisy. Z tego tekstu dowiesz się, czym jest protokół HTTP i jak działa.

Protokół HTTP – co to jest?

HTTP (ang. Hypertext Transfer Protocol) to protokół komunikacyjny wykorzystywany w Internecie do przesyłania danych pomiędzy serwerem a przeglądarką internetową.

Protokół HTTP definiuje sposób, w jaki klient i serwer będą ze sobą komunikować się w celu przesłania żądania (np. pobrania strony internetowej) i odpowiedzi (np. przesłania treści strony). Jest to protokół warstwy aplikacji. To oznacza, iż działa na najwyższym poziomie architektury OSI.

HTTP jest protokołem bezstanowym, co oznacza, iż serwer nie pamięta informacji o wcześniejszych żądaniach klienta. Dlatego każde nowe żądanie musi zawierać wszystkie informacje potrzebne do przetworzenia żądania i zwrócenia odpowiedzi.

Standardowe porty używane do komunikacji przy użyciu protokołu HTTP to port 80 dla zwykłego połączenia, jak również port 443 dla połączenia zabezpieczonego protokołem SSL/TLS (HTTPS).

Protokół HTTP – jak działa?

Protokół HTTP działa na dość prostej zasadzie. Gdy użytkownik wpisuje adres strony internetowej w przeglądarce, przeglądarka wysyła żądanie (zapytanie) do serwera internetowego, w którym znajduje się dana strona. Żądanie to może mieć różną postać, w zależności od rodzaju działania, jakie chce wykonać użytkownik. Na przykład, jeżeli chce pobrać plik, żądanie to będzie zawierało informację o tym, jakiego typu plik chce pobrać i w jakim formacie.

Serwer internetowy otrzymując żądanie, analizuje je i wysyła odpowiedź do przeglądarki użytkownika. Odpowiedź ta zawiera informacje na temat treści strony internetowej, którą użytkownik chciał pobrać lub też innej akcji, jaką chciał wykonać. Informacje te są zwykle przesyłane w postaci kodu HTML, ale mogą też zawierać inne formaty, takie jak pliki graficzne, dźwiękowe czy wideo.

Przykład działania

Na przykład, gdy chcemy zobaczyć stronę internetową z informacjami o pogodzie, wpisujemy adres strony w przeglądarce. Przeglądarka wysyła żądanie do serwera, w którym znajduje się strona z informacjami o pogodzie. Serwer analizuje żądanie i wysyła odpowiedź zawierającą informacje o aktualnej pogodzie w danym miejscu. Przeglądarka otrzymuje odpowiedź i wyświetla informacje o pogodzie na stronie internetowej.

Model żądanie-odpowiedź

Protokół HTTP bazuje na modelu żądanie-odpowiedź. Każde żądanie składa się z kilku części, takich jak metoda, URL, nagłówki i ciało. Metoda określa, jaką akcję chce wykonać użytkownik, np. GET (pobierz), POST (wyślij), PUT (wstaw), DELETE (usuń).

  • URL to adres strony internetowej, którą użytkownik chce odwiedzić.
  • Nagłówki to informacje przesyłane razem z żądaniem, które opisują m.in. typ przeglądarki czy też preferencje użytkownika.
  • Ciało to opcjonalna część żądania, która zawiera dodatkowe informacje, np. formularz, który użytkownik wypełnił.

Odpowiedź serwera również składa się z kilku części, takich jak status, nagłówki i ciało.

  • Status informuje o tym, czy żądanie zostało pomyślnie zrealizowane, a może nie, np. czy strona internetowa istnieje, czy też nie.
  • Nagłówki to informacje przesyłane razem z odpowiedzią, które opisują m.in. typ treści czy też czas ważności.
  • Ciało to opcjonalna część odpowiedzi, która zawiera żądane treści, np. kod HTML strony internetowej.

HTTP to protokół bezstanowy i bezpieczny

Warto zaznaczyć, iż HTTP jest protokołem bezstanowym, co oznacza, iż serwer nie pamięta żadnych informacji o użytkowniku między kolejnymi żądaniami. Dlatego też każde żądanie jest traktowane jako odrębne. Serwer nie wie, czy żądanie wysyła ten sam użytkownik, czy też inny. Aby rozwiązać ten problem, stosuje się mechanizm ciasteczek (cookies). Pozwalają one przechowywać informacje o użytkowniku między kolejnymi żądaniami.

HTTP jest także protokołem bezpiecznym, ponieważ dane przesyłane są w sposób zaszyfrowany, co chroni je przed nieautoryzowanym dostępem lub przechwyceniem przez osoby trzecie. W celu zapewnienia bezpieczeństwa przesyłanych danych stosuje się protokół HTTPS (HTTP Secure), który wykorzystuje certyfikaty SSL/TLS do szyfrowania połączenia między przeglądarką użytkownika a serwerem.

W dzisiejszych czasach protokół HTTP jest wykorzystywany wraz z wieloma innymi technologiami, takimi jak JavaScript, CSS czy też AJAX. To oczywiście umożliwia tworzenie coraz bardziej interaktywnych i zaawansowanych stron internetowych.

Zobacz raport: specjalizacja JavaScript – lipiec 2022

Idź do oryginalnego materiału