it:net:http_protocol
Obsah
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
