HTTP je aplikační protokol založený na architektuře klient-server. Funguje na principu „požadavek–odpověď“ (request–response). Klient (typicky prohlížeč) odešle požadavek na server, a ten mu vrátí odpověď obsahující data (např. soubor HTML, obrázek nebo video).
HTTP je tzv. bezstavový protokol (stateless), což znamená, že každá operace je nezávislá a server si standardně nepamatuje, co klient dělal v předchozím kroku. K udržení „stavu“ (např. přihlášení uživatele) se proto používají doplňkové technologie jako cookies.
Proces získání webové stránky probíhá v následujících krocích:
1. **Navázání spojení:** Klient naváže spojení se serverem (obvykle přes port 80). 2. **HTTP Request (Požadavek):** Klient pošle zprávu typu: "Dej mi soubor /index.html". 3. **Zpracování na serveru:** Server vyhledá soubor nebo vygeneruje data. 4. **HTTP Response (Odpověď):** Server pošle data spolu s informací o výsledku (stavový kód). 5. **Ukončení/Udržení:** Spojení se ukončí nebo zůstane otevřené pro další prvky (obrázky apod.).
HTTP definuje různé metody pro interakci se zdroji na serveru:
| Metoda | Účel |
|---|---|
| GET | Získání dat ze serveru (např. načtení stránky). |
| POST | Odeslání dat na server (např. odeslání registračního formuláře). |
| PUT | Nahrazení existujícího zdroje novými daty. |
| DELETE | Smazání konkrétního zdroje na serveru. |
Server v odpovědi vždy posílá trojmístné číslo, které indikuje výsledek:
[Image comparing HTTP/1.1 and HTTP/2 multiplexing performance]
Samotné HTTP je nezabezpečené – data putují sítí v čitelné podobě, což umožňuje jejich odposlech. Proto vzniklo HTTPS (Hypertext Transfer Protocol Secure).
Související pojmy: HTTPS, URL, Browser, Cookie, HTML, IP adresa, DNS, TLS.