-
Internet: HTTP a HTML
-
Jmenuji se Jasmine a jsem vedoucím oddělení
programování v konstrukčním týmu společnosti
-
XBOX One. Jeden z našich největších podniků se
nazývá XBOX Live. Je to online služba, která propojuje
-
hráče z celého světa, aby to tak mohlo
být, používáme Internet. Není to
-
snadný úkol a spousta věcí se odehrává
v zákulisí. Internet
-
zcela mění způsob, jak se lidé stýkají a
komunikují. Ale jak to funguje? Jak
-
počítače na celém světě komunikují jeden
s druhým? Podívejme se na prohlížení webu.
-
Nejprve otevíráte prohlížeč. To je aplikace, kterou
používáte k prohlížení webových stránek. Dále
-
napíšete webovou adresu, neboli URL, což znamená
„Uniform Resource Locator“ (Uniformní lokátor prostředků), webové stránky,
-
kterou chcete navštívit, jako například tumblr.com. Ahoj. Já jsem David Karp, zakladatel Tumblr, a dnes jsme tady
-
proto, abychom si promluvili o tom, jak fungují webové
prohlížeče, které každodenně používáme. Už jste se
-
zřejmě někdy zamysleli nad tím, co se vlastně odehrává, když zadáte adresu do řádku webového prohlížeče a
-
stisknete enter. A opravdu, je to tak ztřeštěné, jak si jen dovedete představit. Takže v tom okamžiku se Váš počítač
-
začne domlouvat s jiným počítačem, který se nazývá server a který se obyčejně nalézá tisíce mil daleko.
-
a během několika málo milisekund Váš počítač
požádá onen server o webovou stránku a ten server
-
zahájí s Vaším počítačem rozhovor v jazyce zvaném HTTP.
HTTP znamená „HyperText Transfer Protocol“ („Protokol
-
pro přenos hypertextu“). Můžete si to představit
poněkud jako jazyk používaný jedním počítačem
-
k tomu, aby požádal jiný počítač o nějaký
dokument. A je to opravdu celkem přímočaré.
-
Kdybyste zachytili komunikaci probíhající mezi Vaším
počítačem a nějakým webovým serverem na
-
Internetu, tak ta se skládá z požadavků, kterým se
říká požadavky „GET“. Jsou to opravdu velmi
-
jednoduše řečeno jen slovo GET a název dokumentu,
který požadujete. Takže když se pokusíte přihlásit se
-
na Tumblr a načíst naši přihlašovací stránku, děláte
vlastně to, že posíláte serveru Tumblr požadavek GET,
-
který říká GET /login. A tím je serveru Tumblr
řečeno, že chcete veškerý kód HTML přihlašovací
-
stránky Tumblr. HTML znamená Hyper Text Markup
Language“ („Jazyk pro záznam hypertextu“) a můžete
-
si jej představit jako jazyk, který používáte k tomu,
abyste webovému prohlížeči sdělili, jak má nějaká
-
stránka vypadat. Jestliže uvážíme něco takového,
jako je Wikipedie, což je prostě jen velký dokument
-
a HTML je jazyk, který se používá k tomu, aby titulek
byl velký a tučně psaný, aby byl použit správný typ
-
písma, aby některý text odkazoval na některé jiné
stránky, aby některý text byl tučně psaný, jiný
-
psaný kurzívou, aby byl obrázek umístěn uprostřed
stránky nebo naopak zarovnaný na pravou nebo
-
na levou stranu. Text webové stránky
je zadáván přímo v HTML,
-
ale ostatní části, jako například obrázky nebo videa
jsou ve svých samostatných souborech se svými
-
vlastními URL, o které je třeba požádat. Prohlížeč
odesílá samostatné požadavky HTTP pro jednotlivé
-
soubory, které potom zobrazuje tak, jak přicházejí.
Jestliže má nějaká webová stránka spoustu různých
-
obrázků, každý z nich způsobí samostatný požadavek
HTTP a stránka se pak načítá pomaleji. Přitom někdy, když
-
prohlížíte web, nejen, že vyžadujete stránky s požadavky GET. Někdy odesíláte informace, jako například, když
-
vyplníte formulář nebo napíšete dotaz do vyhledávače. Váš prohlížeč ty informace pošle ve formátu prostého
-
textu webovému serveru formou požadavku HTTP POST.
Řekněme, že se právě přihlašujete na Tumblr. Takže první,
-
co musíte udělat, je vydat požadavek POST, tj. POST na
přihlašovací stránku Tumblr, ke kterému jsou přiloženy
-
určité údaje. Je tam Vaše e-mailová adresa, je
tam Vaše heslo. To pak jde na server Tumblr.
-
Server Tumblr si uvědomí, že je to v pořádku,
že jste David. Pošle zpátky Vašemu prohlížeči
-
webovou stránku, která říká „Úspěch! Přihlášen jako David.“ Ale společně s touto webovou stránkou
-
pošle také malý kousek neviditelných dat v podobě souboru cookie, který Váš prohlížeč vidí a ví, jak jej uložit.
-
A to je opravdu důležité, protože je to jediný způsob,
jak si může nějaká webová stránka zapamatovat,
-
kdo jste. Data v souboru cookie opravdu jsou pro Tumblr jen identifikační kartou. Je to číslo, které identifikuje
-
například, že Vy jste David. A Váš webový prohlížeč si
to číslo podržuje, a když Tumblr opět obnovíte, pak
-
při další příležitosti, kdy jdete na Tumblr.com, Váš
webový prohlížeč ví, že má to identifikační číslo
-
automaticky připojit k požadavku, který zasílá
serverům Tumblr. Takže server Tumblr teď
-
vidí požadavek přicházející z Vašeho prohlížeče,
vidí to identifikační číslo a ví:
-
„Dobře, tohle je David.“ A uvědomme si, že Internet
je zcela volně přístupný. Všechna jeho spojení jsou
-
sdílená a informace jsou zasílány jako prostý text.
To umožňuje, aby hackeři odposlouchávali
-
jakékoli informace, které budete po internetu posílat.
Avšak zabezpečené webové stránky tomu brání tím,
-
že požádají váš webový prohlížeč, aby komunikoval na
zabezpečeném kanálu pomocí něčeho, čemu říkáme SSL
-
(„Secure Sockets Layer“ - „Vrstva zabezpečených zásuvek“)
a jejím následníkem je TLS („Transport Layer Security“ -
-
- „Zabezpečení přepravní vrstvy“). SSL a TLS si můžete představit jako bezpečnostní vrstvu namotanou na Vaší
-
komunikaci na ochranu proti odposlechu a neoprávněné
manipulaci. SSL a TLS jsou aktivní, když na adresním
-
řádku svého prohlížeče vedle slova HTTPS vidíte
vyobrazeny malé zámky. Protokoly HTTPS
-
zajišťují, aby Vaše požadavky HTTP byly zabezpečené a chráněné. Když nějaká webová stránka požádá Váš
-
prohlížeč, aby zajistil zabezpečené spojení, nejprve poskytne digitální certifikát. Což je něco asi takového,
-
jako oficiální identifikační karta, kterou se web
prokazuje, že je tím, kým je. Digitální certifikáty
-
jsou vydávány certifikačními úřady, což jsou
důvěryhodné subjekty, které ověřují totožnost
-
webů a vydávají jim certifikáty. Stejně jako vláda
může vydávat občanské průkazy nebo pasy.
-
Takže když se nějaký web pokusí založit
zabezpečené připojení, aniž by měl řádně vydaný
-
digitální certifikát zabezpečení, Váš prohlížeč Vás
varuje. To jsou základy prohlížení webu!
-
Té části Internetu, kterou vídáme každý den.
Abychom to shrnuli, HTTP a DNS se starají o odesílání
-
a příjem HTML, souborů médií, a vůbec čehokoli, co
je na webu. Tím pod kapotou, co tohle všechno umožňuje,
-
jsou sítě TCP/IP a sítě routerů, které informace
rozkládají a přenášejí po malých balíčcích. Tyto
-
balíčky samy se skládají z dvojkových posloupností
jedniček a nul, které jsou fyzicky zasílány
-
elektrickými vodiči, optickovláknovými kabely a bezdrátovými sítěmi.
-
Naštěstí je tomu tak, že když se naučíte, jak funguje
jedna vrstva internetu, můžete se na ni spolehnout,
-
aniž byste si museli pamatovat všechny údaje. A
můžeme se spolehnout, že všechny tyto vrstvy budou
-
společně fungovat tak, aby postupně přenášely
informace ve správné míře a spolehlivě.