Hlavní obsah
Informatika – Počítače a internet
Kurz: Informatika – Počítače a internet > Kapitola 3
Lekce 5: Webové protokoly- Světová síť (World Wide Web)
- Systém doménových jmen (DNS)
- Systém doménových jmen (DNS)
- HTTP a HTML
- Hypertext Transfer Protocol (HTTP)
- Hypertext Transfer Protocol (HTTP)
- Webové protokoly
- Jak mohou počítače odesílat soukromá data?
- Transport Layer Security (TLS)
- HTTP Secure (HTTPS)
- Soukromí na webu
- Soukromí na webu
Hypertext Transfer Protocol (HTTP)
Kdykoli na webu navštívíš stránku, tvůj počítač používá Hypertext Transfer Protocol (HTTP) ke stažení této stránky z jiného počítače někde na internetu.
Pojďme si tento proces projít.
Krok 1: Navedení prohlížeče na adresu URL
Pro prohlížení webu můžeme použít mnoho typů počítačů (jako notebooky, stolní počítače a telefony), dokud mají tyto počítače nainstalovanou aplikaci prohlížeč.
Uživatel buď do prohlížeče napíše Uniform Resource Locator (URL), nebo otevře odkaz z již otevřené stránky:
Všimni si, že tato URL začíná s "http". Pro prohlížeč je to signál, že k načtení dokumentu pro tuto URL musí použít HTTP.
🔍 Jaký prohlížeč nyní používáš? Jaká je URL adresa této stránky? Čím začíná?
Krok 2: Prohlížeč vyhledá IP
Obvykle do prohlížečů píšeme pěkné a srozumitelné URL adresy, jako "khanacademy.org" a "wikipedia.org". Názvy domén jsou mapovány na IP adresy, skutečné umístění počítačů dané domény. O to se stará Systém doménových jmen DNS.
Prohlížeč používá k mapování domény na IP adresu DNS resolver:
Krok 3: Prohlížeč odesílá požadavek HTTP
Jakmile prohlížeč identifikuje IP adresu počítače hostujícího požadovanou URL, odešle HTTP požadavek.
HTTP požadavek může obsahovat pouhé dva řádky textu:
GET /index.html HTTP/1.1
Host: www.example.com
První slovo je HTTP sloveso: "GET". Existují ale i jiná slovesa pro jiné akce na webu, jako je například odesílání dat formuláře ("POST").
Další část specifikuje cestu: "/index.html". Hostitelský počítač ukládá obsah celého webu, takže prohlížeč musí konkrétně naznačit, kterou stránku chce načíst.
Poslední část prvního řádku specifikuje protokol a verzi protokolu: "HTTP/1.1".
Druhý řádek specifikuje doménu požadované URL. Hodí se to v případě, že hostitelský počítač ukládá obsah pro více webových stránek.
Krok 4: Hostitel odešle zpět HTTP odpověď
Jakmile hostitelský počítač obdrží HTTP požadavek, odešle zpět odpověď jak s obsahem, tak s jeho metadaty.
Odpověď HTTP začíná podobně jako požadavek:
HTTP/1.1 200 OK
Odpověď začíná protokolem a jeho verzí, "HTTP/1.1".
Další číslo je velmi důležitý HTTP stavový kód, a v tomto případě je to 200. Tento kód představuje úspěšné načtení dokumentu ("OK").
Pokud server v načítání dokumentu selže, poskytnou stavové kódy doplňující informace, jako například zda došlo k chybě ze strany uživatele či serveru. Nejznámější stavový kód je 404 ("Soubor nenalezen"). To se děje vždy, když navštívíš na serveru cestu, která neodpovídá žádnému dokumentu. Vzhledem k tomu, že uživatelé mají ve zvyku psát URL nesprávně, objevuje se 404 docela často, takže webové stránky podávají webové stránky 404 zábavnou formou. Zkus napsat nesmyslnou URL adresu Khan Academy a uvidíš, co se stane!
Další část HTTP odpovědi tvoří hlavičky. Poskytují prohlížeči doplňující podrobnosti a pomáhají prohlížeči vykreslit obsah.
Tyto dvě hlavičkou jsou velmi běžné u většiny požadavků:
Content-Type: text/html; charset=UTF-8
Content-Length: 208
Typ obsahu (Content-Type) prohlížeči říká, jaký typ dokumentu odesílá nazpátek. Běžný typ obsahu na webu je "text/html", protože všechny webové stránky jsou textové soubory HTML. K dispozici jsou i další typy, jako obrázky ("image/png"), videa ("video/mpeg"), skript ("application/javascript") a cokoliv jiného, co lze v přohlížeči načíst.
Délka obsahu (Content-Length) udává délku dokumentu v bajtech, což prohlížeči pomáhá vědět, jak dlouho bude stažení souboru trvat.
A na konec HTTP odpověď vypíše samotný požadovaný dokument. Tato stránka je jednoduchý HTML soubor:
<!DOCTYPE html>
<html>
<head>
<title>Example Domain</title>
</head>
<body>
<h1>Example Domain</h1>
<p>This domain is to be used for illustrative examples in documents.</p>
</body>
</html>
Chceš-li pochopit fungování HTML podrobněji, můžeš se podívat na náš kompletní HTML/CSS kurz.
Krok 5: Prohlížeč vykreslí odpověď
Prohlížeč má nyní všechny informace, které potřebuje k vykreslení požadovaného dokumentu.
Vyzkoušej si to
Mnoho prohlížečů obsahuje ladící nástroje, které ti umožní zobrazit si HTTP požadavky a jejich odpovědi při prohlížení webu.
Pojďme si to zkusit v Chrome.
Nejprve si musíme v Chrome otevřít nástroje pro vývojáře. Jedním ze způsobů, jak to udělat, je otevřít menu "Zobrazit", pak vybrat "Vývojář" → "Nástroje pro vývojáře". Jakmile se okno otevře, vyber záložku "Network" (Síť).
Dále do řádku prohlížeče zadej adresu URL, například "http://www.example.com/index.html". Požadavek HTTP se zobrazí v konzoli a prohlížeč vykreslí stránku.
Tento požadavek můžeme prozkoumat a podívat se na zajímavé podrobnosti. Klikni na "index.html" pod sloupcem "Name" (název). Zobrazí se rozhraní záložek s výchozí záložkou "Headers".
"Response headers" obsahují hlavičky probrané výše, jako "Content-Type" (typ obsahu) a "Content-Length" (délka obsahu), plus spoustu dalších zajímavých hlaviček.
Samotný HTML obsah odpovědi je v další záložce, "Response" (Odpověď).
🔍 Otevři záložku "Network" a prozkoumej více webových stránek. Kolik požadavků HTTP každá webová stránka vyhotoví? Jaké druhy obsahu jsou v odpovědích? Co tě překvapuje nejvíc?
HTTP a TCP/IP
HTTP je protokol používaný nad protokoly TCP/IP.
Každý požadavek HTTP je uvnitř IP paketu a každá odpověď HTTP je uvnitř jiného IP paketu - nebo obvykleji mnoha paketů, protože data odpovědi mohou být docela velká.
Existuje mnoho dalších protokolů používaných nad protokoly TCP/IP, jako jsou protokoly pro odesílání e-mailů (SMTP, POP, IMAP) a nahrávání souborů (FTP).
Všechny tyto protokoly nám umožňují používat internet tak, abychom se připojili k ostatním zařízením užitečnými způsoby a mohli tak komunikovat a spolupracovat přes veliké vzdálenosti.
🙋🏽🙋🏻♀️🙋🏿♂️Máš k tomuto tématu nějaké dotazy? Rádi ti je zodpovíme — zeptej se v sekci pro dotazy níže!
Chceš se zapojit do diskuze?
Zatím žádné příspěvky.