Prohlížeč je bezpochyby jedním z nejdůležitějších programů na našich počítačích a mobilních zařízeních. Právě díky prohlížečům můžeme sedět na internetu, klikat na odkazy, prohlížet webové stránky a komunikovat s různorodým obsahem. Málokdo si však uvědomuje, jak prohlížeč funguje a jak spolu jeho hlavní součásti interagují.
Jednou z klíčových součástí prohlížeče je schéma. Schéma je datový formát, který prohlížeč používá k zobrazení webových stránek. Určuje, jak má prohlížeč interpretovat HTML, CSS a další webové jazyky, aby vytvořil vizuální zobrazení webové stránky.
Obvody se skládají z různých modulů, které plní různé funkce. Jedním z hlavních modulů je vykreslovací engine, který je zodpovědný za zobrazení webové stránky. Vykreslovací engine přijímá data z jiných modulů a poté je analyzuje a vytváří zobrazení webové stránky na obrazovce.
Zadání adresy URL
Chcete-li otevřít webovou stránku v prohlížeči, musíte do adresního řádku zadat její adresu URL. Adresa URL se skládá z několika částí:
- Protokol: určuje, jakým způsobem má prohlížeč navázat spojení se serverem. Nejpopulárnější protokoly jsou HTTP, HTTPS, FTP.
- Název domény: označuje server, který hostuje webovou stránku. Název domény může být založen na IP adrese (např. 192.0.2.0) nebo může být textový (např. www.example.com).
- Cesta: označuje konkrétní soubor nebo adresář na serveru, kde se webová stránka nachází.
- Fragment: volitelná část adresy URL, která označuje konkrétní položku na webové stránce, jako je místo v textu nebo kotva.
- Parametry: další informace předávané serveru pro zpracování webové stránky.
Po zadání adresy URL prohlížeč odešle požadavek na server pomocí vybraného protokolu. Server zase odesílá zpět data, která prohlížeč zobrazuje jako webovou stránku.
Povolení názvu DNS
Proces povolení názvu DNS se skládá z následujících kroků:
| Krok | Popis |
| 1 | Kontrola mezipaměti prohlížeče |
| 2 | Kontrola mezipaměti operačního systému |
| 3 | Dotaz na server DNS poskytovatele |
| 4 | Požadavek na kořenový server DNS |
| 5 | Požadavky na přechodné servery DNS |
| 6 | Získání IP adresy |
V prvním kroku prohlížeč zkontroluje mezipaměť názvů DNS, kde jsou uloženy výsledky předchozích dotazů. Pokud již byla pro daný název domény získána IP adresa, prohlížeč okamžitě přejde k dalšímu kroku. V opačném případě prohlížeč zkontroluje mezipaměť operačního systému, kde lze uložit IP adresy pro jiné aplikace.
Pokud v mezipaměti prohlížeče a operačního systému není vhodný záznam, prohlížeč požádá server DNS poskytovaný poskytovatelem internetových služeb. Požadavek obsahuje název domény, který vyžaduje povolení IP adresy.
Pokud má server DNS poskytovatele záznam pro daný název domény, sdělí IP adresu prohlížeči, který ji uloží do mezipaměti a přejde k dalšímu kroku. V opačném případě server DNS poskytovatele požádá kořenový server DNS, který má informace o tom, jakým serverům DNS důvěřovat, aby povolily názvy domén v určité zóně.
Poté dochází k sériovým dotazům na zprostředkované servery DNS, dokud nebude nalezen záznam s adresou IP pro daný název domény. Tento proces se nazývá rekurzivní rozlišení DNS.
Nakonec prohlížeč obdrží IP adresu a může navázat spojení se serverem uvedeným v adrese URL. Nyní může prohlížeč odesílat a přijímat data z tohoto serveru.
Připojení TCP
Proces připojení TCP mezi prohlížečem a serverem se skládá z několika kroků:
- Prohlížeč požádá o IP adresu serveru, ke kterému chcete navázat připojení. Za tímto účelem prohlížeč odešle požadavek na server DNS, který vyhledá odpovídající IP adresu názvu domény uvedenou v adrese URL.
- Po obdržení IP adresy serveru prohlížeč vytvoří paket TCP a odešle jej přes síť na zadanou IP adresu a port serveru.
- Server přijme balíček TCP, zkontroluje chyby a odešle paket TCP zpět prohlížeči.
- Prohlížeč přijme zpětný balíček TCP od serveru a zkontroluje, zda neobsahuje chyby.
- Pokud jsou všechny kontroly úspěšné, prohlížeč a server vytvoří připojení TCP a zahájí výměnu dat.
Připojení TCP je jedním z klíčových kroků procesu přenosu dat mezi prohlížečem a serverem. Díky spolehlivosti a kontrole chyb poskytovaných protokolem TCP umožňuje tato fáze zajistit úspěšný přenos dat mezi klientem a serverem.
Odeslání požadavku HTTP
Při odesílání požadavku HTTP prohlížeč vytvoří zprávu HTTP, která obsahuje následující základní prvky:
| 1. Metoda dotazování | Určuje akci, kterou musí server provést v reakci na žádost. Nejběžnějšími metodami jsou GET (získávání dat), POST (odesílání dat na server), PUT (aktualizace dat na serveru) a DELETE (mazání dat na serveru). |
| 2. URL (Uniform Resource Locator) | Určuje adresu zdroje, na který je žádost odeslána. URL se skládá z protokolu (např. " http://" nebo "https://"), domény (např. "www.example.com") a cesty ke zdroji (např. " / index.html"). |
| 3. Nadpisy | Jsou to páry "název-hodnota" a obsahují další informace o dotazu, jako je typ obsahu, jazyk, prohlížeč a další. |
| 4. Tělo žádosti | Obsahuje další data, která lze přenést na server, například při odesílání dat formuláře nebo stahování souborů. |
Po vytvoření zprávy HTTP prohlížeč naváže spojení se serverem, odešle dotaz a čeká na odpověď. Server zpracovává dotaz a odešle zpět odpověď HTTP, která také obsahuje nadpisy a může mít tělo odpovědi s daty ze serveru.
Prohlížeč obdrží odpověď od serveru, provede její analýzu a provede další kroky v souladu s obsahem odpovědi. Pokud například odpověď obsahuje HTML kód, prohlížeč ji vykreslí a zobrazí na webové stránce. Pokud odpověď obsahuje jiné zdroje, jako jsou obrázky nebo styly CSS, prohlížeč je stáhne a zobrazí na stránce.
Odeslání požadavku HTTP je tedy jedním z hlavních kroků v provozu prohlížeče při přístupu na web a získávání dat z něj.
Získání dat ze serveru
Při práci v prohlížeči hraje obvod důležitou roli při získávání dat ze serveru. Když uživatel zadá adresu URL do adresního řádku prohlížeče a stiskne Enter, prohlížeč zahájí proces získávání dat ze serveru.
Prvním krokem prohlížeče je rozebrat adresu URL na její součásti, jako je protokol (jako je HTTP), název domény a cesta k požadovanému prostředku. Prohlížeč poté vytvoří a odešle požadavek GET na server, který tyto informace obsahuje.
Server přijímá požadavek GET a provádí potřebné operace, aby získal požadovaná data. Server poté vytvoří http odpověď obsahující tato data a odešle ji zpět do prohlížeče.
Při přijímání odpovědi HTTP prohlížeč analyzuje její názvy a obsah. Pokud stavový kód odpovědi označuje úspěšné provedení dotazu (např. kód 200), data se uživateli zobrazí v prohlížeči.
Prohlížeč zvládne různé typy odpovědí ze serveru, jako jsou HTML, CSS, JavaScript, obrázky a další. Může využít vestavěné funkce ke zpracování a zobrazení těchto dat, nebo použít rozšíření a pluginy pro další funkce.
Prohlížeč může také provádět další akce s daty, jako je ukládání souborů, odesílání dat na jiné servery nebo spouštění skriptů. To vše závisí na obsahu a nastavení prohlížeče.
Výsledkem je, že získávání dat ze serveru je důležitou součástí prohlížeče schéma a umožňuje uživatelům přijímat a prohlížet různé typy obsahu online.
Vykreslování HTML stránky
Proces vykreslování stránky začíná tím, že prohlížeč načte HTML kód stránky. Prohlížeč poté prochází několika kroky ke zpracování tohoto kódu a jeho zobrazení na obrazovce.
Nejprve prohlížeč analyzuje HTML kód a vytvoří DOM (Document Object Model). DOM je strom objektů, které představují strukturu a obsah HTML stránky. Každý prvek HTML se stane objektem v DOM a každý textový uzel se stane textovým objektem v DOM.
Prohlížeč poté prochází procesem zvaným "passing" (parsing) CSS kódu, aby našel všechny styly, které se vztahují na položky na stránce. Styly popisují, jak by měly prvky na stránce vypadat, jako je barva, písmo, velikost atd.
Po zpracování CSS kódu prohlížeč vytvoří další strom objektů nazvaný CSSOM (CSS Object Model). CSSOM představuje všechny styly aplikované na prvky na stránce.
Poté prohlížeč prochází procesem mapování (matching) DOM a CSSOM, aby zjistil, které styly by měly být aplikovány na každou položku na stránce.
Prohlížeč poté vytvoří vykreslovací strom zvaný R-strom (render tree). Strom R představuje, které prvky a styly by měly být zobrazeny na obrazovce. Na rozdíl od DOM strom r nezahrnuje skryté prvky nebo prvky, které se nezobrazí v konečném rozložení stránky.
Když je vytvořen strom r, prohlížeč prochází procesem uspořádání (layout), který určuje, jak mají být položky umístěny na obrazovce. To zahrnuje určení velikosti prvků a jejich pozic vůči sobě navzájem.
Nakonec se prohlížeč pustí do procesu zobrazení (painting), kde změní R strom na pixely na obrazovce. Využívá informace o barvách, písmech a velikostech prvků k vytvoření konečného obrázku stránky, který uživatel vidí.
Celý tento proces vykreslování HTML stránky probíhá ve zlomcích sekundy a prohlížeče se jej snaží optimalizovat, aby dosáhly maximálního výkonu a rychlosti.
Zpracování JavaScript kódu
Při načítání webové stránky prohlížeč analyzuje obsah značky a provede JavaScript kód, který se v ní nachází. To vám umožní přidat interaktivitu a funkčnost na webovou stránku.
Proces zpracování JavaScript kódu v prohlížeči zahrnuje následující kroky:
| Fáze | Popis |
| 1 | Parsing (demontáž) HTML dokumentu pro vyhledávání značek |
| 2 | Stahování externích JavaScript souborů, pokud jsou uvedeny v atributu src značky |
| 3 | Provádění JavaScript kódu podle pořadí setkání během parsingu |
Parsing HTML dokumentu se provádí krok za krokem a každá značka je zpracována uvnitř fáze parsingu. Pokud se vyskytne externí Javascript soubor, je načten a zpracován bez ohledu na zbytek kódu.
Je důležité si uvědomit, že JavaScript kód může ovlivnit zobrazení webové stránky po jejím úplném stažení. Například změna obsahu prvků HTML, přidání nebo odebrání položek, zpracování událostí a další.
Zpracování JavaScript kódu je tedy důležitou součástí prohlížeče, která umožňuje přidávat dynamické chování na webové stránky a zlepšovat uživatelský zážitek.
Zobrazení webové stránky
Když uživatel zadá adresu URL do adresního řádku prohlížeče a stiskne klávesu Enter, prohlížeč zahájí proces zobrazení webové stránky. V tomto procesu lze rozlišit následující fáze:
- Dotaz a získání HTML kódu: Prohlížeč odešle požadavek HTTP na server uvedený v URL a požádá o kód HTML stránky. Server reaguje odesláním požadovaného HTML kódu zpět prohlížeči.
- Analýza HTML kódu: Prohlížeč začne rozebírat přijatý HTML kód analýzou jeho struktury a identifikací značek a obsahu stránky.
- Konstrukce stromové struktury: Na základě získaného HTML kódu prohlížeč buduje stromovou strukturu známou jako DOM (Document Object Model). DOM je hierarchická organizace prvků stránky, kde se každá značka stává předmětem a obsah značky je jejím podřízeným prvkem.
- Zobrazení obsahu: Prohlížeč používá výsledný DOM k zobrazení obsahu stránky v okně prohlížeče. Určuje umístění a styl prvků, načítá a zobrazuje obrázky a další mediální soubory, zpracovává odkazy, formuláře a další interaktivní prvky stránky.
Proces zobrazení webové stránky může zahrnovat další kroky, jako je spuštění JavaScript kódu, načítání a zobrazení CSS stylů, zpracování požadavků uživatele a tak dále. Hlavní fáze však zůstávají stejné a odrážejí základní logiku fungování prohlížeče při zobrazení webové stránky.