Zrození internetu 2: Jak to postavit, aby to fungovalo

Co je to internet a jak funguje? Odhalte technologické zázemí celosvětové sítě a zjistíte, co se stane, když do prohlížeče zadáte www.zive.cz.
Kapitoly článku

Tajemství tří wéček

Určitě znáte klasickou zkratku WWW, kterou obvykle začíná adresa každého webu, s nímž přicházíte při brouzdání Internetem do styku. Někteří (jako například Petr Hájek) se domnívají, že jde o symbol ďábla, my méně spiklenecky založení ovšem víme, že jde o zkratku. Tento World Wide Web se stal přímo synonymem internetu a mnozí mají pocit, že to je vlastně celá síť, i když tomu tak není a jedná se o relativně novou (dvacet let, co to je…) technologii. Ve skutečnosti je tento název synonymem pro „symbiózu“ dvou jiných technologií, skrývajících se pod kapotou. Mnozí se s těmito zkratkami setkali – jedná se o HTTP a HTML.

HTTP - Shutterstock.jpg

HTTP je protokol, který prohlížeči říká, jakým způsobem má s www serverem komunikovat, jak si vyžádat data, případně jak je poslat, zkrátka popisuje vše potřebné, aby se váš počítač se serverem domluvil.

HTML je pro změnu jazyk tzv. hypertextu, který je použit pro vlastní zobrazení stránek – kde co jak má být a jak to má reagovat. Myšlenka hypertextu (tedy interaktivního textu, kde uživatel má možnost pomocí odkazů přecházet mezi různými částmi souboru či mezi více soubory) není nijak nová. Představil ji už Douglas Engelbart v roce 1969. Bohužel, udělat ji skutečně „user frendly“ nějakou dobu trvalo, takže až počátkem devadesátých let se mohla stát základem široké světové sítě.

Když spustíme prohlížeč

Teď už víme vše potřebné k objasnění procesu, který nastane, jakmile kliknete na to modré éčko, ohnivou pandu, červené óčko nebo barevný kotouček a zadáte adresu. Předpokládejme, že jsme zadali adresu „www.seznam.cz“. Internetový prohlížeč díky tomu úvodnímu „www“ pochopí, že pro komunikaci je nutné použít protokol http. Pošle tedy zprávu v pravděpodobném tvaru:

GET /index.html HTTP/1.1
Host: www.seznam.cz 

Síťový ovladač vaší karty (který zahrnuje několik vrstev síťové komunikace) má ale smůlu, protože nezná adresu, kam dotaz poslat – www.seznam.cz. Naštěstí, je tu příslušný DNS server, který mu pomůže a řekne, že tato IP adresa je 77.75.72.3. Skvělé. Díky tomu vaše síťová karta ví, na jaký server s jakým IP se obrátit, dokonce je jí i jasné, že má použít port 80, což tu hlouběji nebudeme rozpitvávat.

Zpráva je kraťoučká a proto se nám vejde do jednoho paketu. Putuje sem a tam, probublává skrze mnoho různých routerů a serverů, až je dopravena k tomu správnému serveru, naslouchajícímu na portu 80. Ten následně odpoví, a to nejprve hlavičkou:

HTTP/1.1 200 OK
Date: Mon, 17 Jan 2012 22:38:34 GMT
Server: …typ serveru
Last-Modified: ….
Etag: ….
Accept-Ranges: bytes
Content-Length: XYZ
Connection: close
Content-Type: text/html; charset=UTF-8

a poté obsahem souboru index.html, případně jiného, který je uživateli nabízen jako úvodní stránka. Zde těžko předjímat, na kolik paketů je odpověď serveru rozsekána, nicméně to nevadí, máme tu šikovnou síťovou a transportní vrstvu, které nám ji zase složí dohromady. Skvělé.

Internetový prohlížeč si zprávu převezme, mrkne se na ni, a protože rozumí protokolu HTTP, je schopen si jednak z výše uvedené hlavičky vybrat informace, které jej zajímají, kromě toho je schopen ze zprávy extrahovat vlastní obsah souboru index.html, který v jazyce HTML popisuje, co má vlastně zobrazit. Tento soubor v případě Seznamu začíná takto:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<title>Seznam – Najdu tam, co hledám</title>
<link rel="alternate" type="application/rss+xml" title="Seznam.cz" 	
  href="http://seznam.sblog.cz/rss.xml" />
<link rel="shortcut icon" href="/st/img/favicon.ico" /> 
<link rel="openid2.provider openid.server" href="http://id.szn.cz/openidserver" /> 
<meta http-equiv="X-XRDS-Location" content="http://id.seznam.cz/yadis" /> 
<link rel="stylesheet" href="/st/2.24/css/0-homepage.css?48" media="all" type="text/css" />

…dále jsem nechtěl nudit. Jak každý vidí, je to úplně něco jiného, než co vidíme na obrazovce, ale to nevadí, nemusíme to znát. Důležité je, aby to znal náš prohlížeč, vše správně vykreslil a umožnil nám s danou stránkou pracovat.

Takové to tedy je. Komplikované, někdy náročné a frustrující, přesto funkční a krásné. Příště se již přestaneme trápit technologií a vrhneme se rovnýma nohama do rozbouřených vln historie. Sledujte dále seriál o Zrození internetu!

Článek je součástí seriálu Zrození internetu, všechny díly najdete zde

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,