Základy počítačových sítí
10. Protokoly aplikační vrstvy
10.1. Protokol HTTP
Když spustíme webový prohlížeč, program pro rychlé zasílání zpráv nebo sdílení souborů, tvoří tyto aplikace komunikační rozhraní mezi počítačovou sítí a uživatelem. Samotný aplikační software, tedy počítačový program, samozřejmě k efektivní komunikaci nestačí, protože k tomu jsou zapotřebí výše uvedené komunikační protokoly, které jsou však v těchto programech implementovány. Příkladem protokolu aplikační vrstvy je pravděpodobně jeden z nejoblíbenějších protokolů HTTP, který je implementován ve webových prohlížečích a stejně jako všechny programy pro rychlé zasílání zpráv a další programy komunikující přes web implementuje také odpovídající protokol.
Když do prohlížeče zadáme adresu webové stránky, tzv. URL (Uniform Resource Locator), a po stisknutí klávesy Enter se náš prohlížeč spojí se serverem, kde je stránka uložena, a vyžádá si konkrétní zdroj - většinou se jedná o soubory obsahující stránky s obsahem. Pokud má server k dispozici požadovaný zdroj, odešle jeho obsah prohlížeči, který interpretuje kód HTML, z něhož je stránka složena, a zobrazí jeho obsah uživateli. Ve skutečnosti je tento proces poněkud komplikovaný. Jako příklad uveďme webovou adresu:
http://www.cybersecurity.pl/fundamentals.html
Po zadání a potvrzení prohlížeč nejprve zkontroluje typ protokolu, poté název internetové domény a nakonec zváží název konkrétního souboru. Později náš prohlížeč zavolá server DNS, aby změnil mnemotechnický název (tj. cybersecurity.co.uk) na IP adresu serveru, kde je webová stránka uložena.
Prohlížeč, který zná tuto adresu, odešle na server požadavek na přístup k souboru tomijerry.html umístěnému v doméně alamakota.pl. Pokud má server k dispozici zdroj v odpovědi, odešle příslušnou zprávu s obsahem požadovaného souboru. Obsah tohoto souboru, kód HTML, je interpretován prohlížečem a zobrazen jako webová stránka.
Protokol HTTP pracuje standardně na portu 80 a definuje několik základních typů zpráv, tj. požadavků na komunikaci mezi klientem a webovým serverem, z nichž nejdůležitější jsou: GET a POST.