Protokół HTTP
HTTP (Hypertext Transfer Protocol) to protokół komunikacyjny stworzony przez Tima Bernersa-Lee, który umożliwia wymianę danych między klientem (np. przeglądarką) a serwerem w sieci WWW. Najnowsze wersje protokołu to HTTP/2 (opublikowane w 2015) i HTTP/3 (opublikowane w 2022). Protokół jest bezstanowy, co oznacza, że nie przechowuje informacji o wcześniejszych transakcjach, co zmniejsza obciążenie serwera.
W celu zarządzania stanem użytkownika wprowadzono takie mechanizmy jak ciasteczka, sesje serwerowe oraz parametry w URL.
Metody HTTP
HTTP definiuje różne metody, które określają typ operacji na zasobach. Oto najważniejsze z nich:
- GET – pobranie zasobu wskazanego przez URI.
- HEAD – pobranie nagłówków zasobu, bez treści.
- PUT – przesłanie danych do serwera, zazwyczaj w celu aktualizacji.
- POST – przesłanie danych, np. z formularzy.
- DELETE – usunięcie zasobu.
- OPTIONS – zapytanie o opcje dostępne dla danego zasobu.
- TRACE – diagnostyka kanału komunikacyjnego.
- CONNECT – żądanie dla serwerów pośredniczących.
- PATCH – częściowa aktualizacja danych.
Typowe zapytanie HTTP
Przykładowe zapytanie HTTP może wyglądać następująco:
GET / HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html
Connection: keep-alive
Odpowiedź serwera WWW
Odpowiedź serwera na zapytanie HTTP może mieć postać:
HTTP/1.1 200 OK
Date: Thu, 20 Dec 2001 12:04:30 GMT
Server: Apache/2.0.50
Content-Type: application/xhtml+xml; charset=utf-8
W odpowiedzi mogą znajdować się również nagłówki dotyczące zarządzania pamięcią podręczną oraz ciasteczkami, takie jak Cache-Control
oraz Set-Cookie
.
HTTP w wersji 1.1 wspiera technikę pipelining, umożliwiającą wysyłanie wielu żądań jednocześnie, w przeciwieństwie do wersji 1.0, która obsługuje jedno żądanie na raz.
Protokół HTTP jest kluczowym elementem funkcjonowania sieci WWW, umożliwiającym efektywną wymianę informacji między użytkownikami a serwerami.