Protokół przesyłania hipertekstu (HTTP) stanowi podstawę przesyłania danych w sieci WWW. Definiuje sposób formatowania i przesyłania wiadomości oraz sposób, w jaki serwery internetowe i przeglądarki reagują na różne polecenia. Protokół HTTP działa w oparciu o protokół TCP/IP, zwykle wykorzystując port 80 do połączeń nieszyfrowanych i port 443 do połączeń szyfrowanych (HTTPS). Umożliwia klientom (takim jak przeglądarki internetowe) żądanie zasobów (takich jak dokumenty HTML, obrazy lub skrypty) z serwerów internetowych i otrzymywanie odpowiedzi zawierających żądaną treść wraz z informacjami o stanie.
Protokół HTTP działa krok po kroku poprzez szereg interakcji pomiędzy klientem (np. przeglądarką internetową) a serwerem (np. serwerem WWW). Proces rozpoczyna się, gdy klient wysyła do serwera komunikat żądania HTTP. To żądanie określa zasób (np. adres URL strony internetowej), do którego klient chce uzyskać dostęp, i może zawierać dodatkowe nagłówki dostarczające informacji o kliencie lub parametrach żądania. Następnie serwer przetwarza żądanie, pobiera żądany zasób i konstruuje komunikat odpowiedzi HTTP zawierający dane zasobu wraz z metadanymi, takimi jak kody stanu (np. 200 OK lub 404 Not Found).
Witryna internetowa HTTP działa w ten sposób, że udostępnia treści i zasoby klientom (przeglądarkom internetowym), którzy łączą się z nią za pomocą protokołów HTTP lub HTTPS. Kiedy użytkownik wprowadza adres URL witryny w przeglądarce, przeglądarka wysyła żądanie HTTP do serwera WWW obsługującego witrynę. Serwer odpowiada, wysyłając dokumenty HTML, obrazy, skrypty, arkusze stylów i inne zasoby potrzebne do wyrenderowania strony internetowej w przeglądarce użytkownika. Proces ten obejmuje wiele żądań HTTP i odpowiedzi dla każdego elementu tworzącego stronę internetową, co gwarantuje, że cała niezbędna treść zostanie dostarczona i poprawnie wyświetlona.
Połączenia HTTP działają poprzez ustanowienie połączenia TCP pomiędzy klientem a serwerem. Klient inicjuje połączenie wysyłając pakiet TCP SYN do serwera, który odpowiada pakietem SYN-ACK. Po nawiązaniu połączenia komunikaty HTTP (żądania i odpowiedzi) są przesyłane za pośrednictwem tego połączenia TCP. Po przesłaniu niezbędnych danych połączenie może zostać zamknięte przez którąkolwiek ze stron lub pozostawione otwarte dla kolejnych żądań, w zależności od wersji HTTP i konfiguracji serwera/klienta.
Żądanie HTTP rozpoczyna się, gdy klient (np. przeglądarka internetowa) wysyła metodę HTTP (np. GET, POST, PUT) wraz z adresem URL (Uniform Resource Locator) do serwera. Ta metoda żądania określa akcję, którą klient chce, aby serwer wykonał na określonym zasobie. Ponadto żądanie może zawierać nagłówki zawierające dodatkowe informacje na temat żądania, takie jak typ treści, którą klient może zaakceptować, lub dane uwierzytelniające. Gdy serwer odbierze żądanie, przetwarza je w oparciu o określoną metodę i adres URL, pobiera żądany zasób i przygotowuje odpowiedź HTTP do wysłania z powrotem do klienta.