Uživatelské nástroje

Nástroje pro tento web


it:net:http_protocol

HTTP protokoly a hlavičky

HTTP je aplikační protokol pro přenos hypermediálních dokumentů. Klient (obvykle prohlížeč) pošle požadavek (Request) a server vrátí odpověď (Response), která obsahuje stavový kód a data.

1. Evoluce HTTP protokolů

Technologie se neustále vyvíjí s cílem snížit latenci (odezvu) a zvýšit rychlost načítání stránek.

  • HTTP/1.1 (1997): Standard, který zavedl trvalá spojení (Keep-Alive). Problémem je, že může stahovat jen jeden soubor po druhém v rámci jednoho spojení (Head-of-line blocking).
  • HTTP/2 (2015): Zásadní zrychlení. Podporuje multiplexování (více souborů v jednom spojení najednou), kompresi hlaviček a Server Push.
  • HTTP/3 (2022): Běží na protokolu QUIC (přes UDP místo TCP). Eliminuje zpoždění při navazování spojení a lépe zvládá přechody mezi sítěmi (např. z Wi-Fi na 5G).

2. Struktura HTTP zprávy

Každá HTTP zpráva (dotaz i odpověď) má tři části:

1. **Start line:** U dotazu obsahuje metodu (GET/POST) a URL, u odpovědi stavový kód.
2. **Hlavičky (Headers):** Metadata o spojení a datech.
3. **Tělo (Body):** Samotná data (HTML kód, obrázek, JSON).

3. Klíčové HTTP hlavičky

Hlavičky se píší ve formátu `Klíč: Hodnota`.

Hlavičky dotazu (Request Headers)

  • Host: Doména serveru (např. `it-encyklopedie.cz`).
  • User-Agent: Identifikace prohlížeče a operačního systému klienta.
  • Accept: Jaké typy souborů prohlížeč upřednostňuje (např. `text/html`).
  • Authorization: Přihlašovací údaje (např. Bearer token).

Hlavičky odpovědi (Response Headers)

  • Content-Type: Typ vracených dat (např. `text/html; charset=UTF-8`).
  • Cache-Control: Instrukce, jak dlouho má prohlížeč soubor ukládat do mezipaměti.
  • Set-Cookie: Server posílá klientovi cookie pro udržení relace (session).
  • Server: Informace o webovém serveru (např. `nginx/1.25`).

4. Stavové kódy (Status Codes)

Server v první řádce odpovědi posílá číselný kód, který indikuje výsledek operace:

  • 2xx (Success): Vše proběhlo v pořádku. Nejslavnější je 200 OK.
  • 3xx (Redirection): Dokument se přesunul. 301 Moved Permanently je důležité pro SEO.
  • 4xx (Client Error): Chyba je na straně uživatele. 404 Not Found (stránka neexistuje) nebo 403 Forbidden.
  • 5xx (Server Error): Chyba je na straně serveru. 500 Internal Server Error nebo 503 Service Unavailable.

5. Bezpečnost: HTTPS

HTTPS je šifrovaná varianta HTTP. Používá protokol TLS (Transport Layer Security) k šifrování hlaviček i těla zprávy.

  • Zajišťuje Důvěrnost (nikdo nemůže odposlouchávat data).
  • Zajišťuje Integritu (data nelze cestou změnit).
  • Zajišťuje Autentizaci (máte jistotu, že komunikujete se správným serverem díky certifikátu).

Související články:

Tagy: network http https protocol web-dev server browser

it/net/http_protocol.txt · Poslední úprava: autor: admin