encyklopedia.space

HTTP (Hypertext Transfer Protocol)

HTTP – skrót od Hypertext Transfer Protocol – jest to protokół aplikacyjny warstwy Internetu, który umożliwia wymianę dokumentów hipertekstowych, najczęściej w postaci stron WWW. Jest on podstawą komunikacji pomiędzy klientem (zazwyczaj przeglądarką internetową) a serwerem sieciowym.

Historia

Protokół HTTP został opracowany w 1991 roku w ramach projektu WorldWideWeb w CERN. Jego pierwsza specyfikacja została opublikowana jako RFC 1945 w 1996 roku i opisywała wersję HTTP/1.0. Następnie w 1997 roku ukazał się RFC 2068, wprowadzający HTTP/1.1. Kolejne wersje – HTTP/2 (standard RFC 7540 z 2015 roku) oraz HTTP/3 (oparty na protokole QUIC) – wprowadzają ulepszenia związane z wydajnością i bezpieczeństwem.

Budowa protokołu

Komunikacja w HTTP opiera się na modelu request‑response. Każda wymiana składa się z:

  • Żądania (request) – przesyłane przez klienta, zawierające metodę, docelowy URL, wersję protokołu oraz nagłówki.
  • Odpowiedzi (response) – zwracane przez serwer, zawierające kod statusu, opis, wersję protokołu oraz nagłówki i opcjonalnie treść.

Metody żądania

Najczęściej używane metody to:

  • GET – pobranie zasobu.
  • POST – wysłanie danych (np. formularzy).
  • PUT – zapisanie zasobu.
  • DELETE – usunięcie zasobu.
  • HEAD – pobranie tylko nagłówków.
  • OPTIONS – zapytanie o dostępne metody.

Kody statusu

Odpowiedzi serwera zawierają trzycyfrowy kod statusu, podzielony na klasy:

KodKlasaZnaczenie
1xxInformacyjneInformacja o trwającym przetwarzaniu żądania.
2xxSukcesŻądanie zostało pomyślnie zrealizowane (np. 200 OK).
3xxPrzekierowanieŻądanie wymaga dodatkowego działania (np. 301 Moved Permanently).
4xxBłąd klientaNieprawidłowe żądanie (np. 404 Not Found).
5xxBłąd serweraProblem po stronie serwera (np. 500 Internal Server Error).

Wersje protokołu

HTTP/1.0
Podstawowa wersja wprowadzona w 1996 roku. Wymaga otwarcia nowego połączenia TCP dla każdego żądania.
HTTP/1.1
Wersja 1997 roku, wprowadzająca połączenia trwałe, kompresję nagłówków (gzip), i dodatkowe metody.
HTTP/2
Opublikowana jako RFC 7540 w 2015 roku. Wykorzystuje binarny format wiadomości, muliplexowanie żądań w jednym połączeniu TCP oraz mechanizm priorytetów.
HTTP/3
Najnowsza wersja, oparta na protokole QUIC (UDP). Zapewnia niższe opóźnienia, lepszą obsługę utraty pakietów i wbudowane szyfrowanie.

Bezpieczeństwo – HTTPS

Wersja zabezpieczona protokołu nazywa się HTTPS (TLS over HTTP). Dzięki szyfrowaniu zapewnia poufność i integralność przesyłanych danych oraz umożliwia uwierzytelnienie serwera poprzez certyfikaty PKI.

Zastosowania

HTTP jest wykorzystywany nie tylko w przeglądarkach internetowych, ale także w:

Powiązane pojęcia

Do najważniejszych pojęć powiązanych z HTTP należą:

  • TCP – protokół transportowy używany w wersjach 1.x i 2.
  • UDP – protokół transportowy wykorzystywany w HTTP/3.
  • URL – adres zasobu w sieci.
  • Cache – mechanizmy przechowywania odpowiedzi w celu przyspieszenia dostępu.
  • Cookie – sposób utrzymywania stanu sesji.

HTTP pozostaje jednym z fundamentów współczesnego Internetu, a jego ciągły rozwój dostosowuje protokół do rosnących wymagań dotyczących wydajności i bezpieczeństwa.