Obsah
HTTP (Hypertext Transfer Protocol)
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.
Jak probíhá komunikace
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.).
Metody požadavku (Verbs)
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. |
Stavové kódy (Status Codes)
Server v odpovědi vždy posílá trojmístné číslo, které indikuje výsledek:
- 1xx (Informativní): Požadavek byl přijat, zpracování pokračuje.
- 2xx (Úspěch): Vše proběhlo v pořádku (nejznámější je 200 OK).
- 3xx (Přesměrování): Zdroj se nachází jinde (např. 301 Moved Permanently).
- 4xx (Chyba klienta): Špatný požadavek (legendární 404 Not Found).
- 5xx (Chyba serveru): Server selhal (např. 500 Internal Server Error).
Evoluce verzí
- HTTP/1.1 (1997): Standard, který zavedl trvalá spojení (není nutné pro každý obrázek otevírat nové spojení). Dodnes velmi rozšířený.
- HTTP/2 (2015): Přinesl binární přenos a multiplexování (stahování mnoha souborů naráz přes jedno spojení), což výrazně zrychlilo načítání stránek.
- HTTP/3 (2022): Využívá protokol QUIC (postavený na UDP). Je navržen pro moderní mobilní sítě, aby se lépe vyrovnal se ztrátami paketů a změnami připojení.
[Image comparing HTTP/1.1 and HTTP/2 multiplexing performance]
Bezpečnost: HTTPS
Samotné HTTP je nezabezpečené – data putují sítí v čitelné podobě, což umožňuje jejich odposlech. Proto vzniklo HTTPS (Hypertext Transfer Protocol Secure).
- Využívá šifrování TLS (Transport Layer Security).
- Zajišťuje Důvěrnost (nikdo data nepřečte), Integritu (data nikdo cestou nezmění) a Autentizaci (máte jistotu, že komunikujete se skutečným serverem).
Související pojmy: HTTPS, URL, Browser, Cookie, HTML, IP adresa, DNS, TLS.
