Aplikační a programové vybavení

Preview:

DESCRIPTION

Aplikační a programové vybavení. Internet, WWW, HTML a spol. Inženýrství. Hlavní zásady inženýrství reprodukovatelnost měřitelnost a parametrizovatelnost přenositelnost typizace a standardizace dokumentace práce organizace práce. Počítačové sítě. systémy pro přenos dat mezi počítači - PowerPoint PPT Presentation

Citation preview

Aplikační a programové vybavení

Internet, WWW, HTML a spol.

Inženýrství

• Hlavní zásady inženýrství• reprodukovatelnost• měřitelnost a parametrizovatelnost• přenositelnost• typizace a standardizace• dokumentace práce• organizace práce

Počítačové sítě

• systémy pro přenos dat mezi počítači• vývoj datových sítí probíhá na několika

úrovních:• fyzická úroveň – hardware pro spojení, kabely• logická úroveň• organizace sítí a jejich topologie• adresování uzlů• komunikační protokoly

• aplikační úroveň• servery pro služby poskytované uživatelům

Klient – server• Klient-server je vztah mezi dvěma subjekty. • Server – pasivní (serve = sloužit), dělá pouze to co chce

nějaký klient.• Může se jednat o vztah mezi:

• systémy, aplikacemi• moduly, procesy, vlákny

• příklady: • Webový prohlížeč je klientem webového serveru.• Webový server je klientem databázového serveru.• Vykreslovací jádro prohlížeče je serverem pro UI.• Prohlížeč je klientem operačního systému.

Počítačové sítě

• Komunikační protokol• Sada pravidel pro komunikaci mezi síťovými uzly• Schéma sítě z pohledu aplikace:

klient2

server1

klient3

klient1

server2

server3

Aplikační protokoly• Nejrozšířenější je rodina protokolů TCP/IP• Internet je každá síť, která pro komunikaci využívá

protokoly TCP/IP.• Internet (The Internet) × intranet (internet)

• IP – základní protokol, ostatní protokoly jej využívají (Internet Protocol)

• TCP – protokol pro přenos dat• „spolehlivý protokol“, ověřování a řízení (Transmission

Control Protocol)• UDP – jednoduchý protokol pro přenos dat

• „nespolehlivý protokol“, malá režie (User Datagram Protocol)

• A další protokoly pro jednotlivé síťové služby• Standardy týkající se Internetu se označují RFC

Adresování síťových uzlů• Hardwarová adresa – MAC adresa (48 bitů)

• přiřazena výrobcem každému koncovému zařízení• celosvětově unikátní• MAC (Medium Access Control)• jiná síťová vrstva – v aplikacích se nepoužívá

• Logická adresa – IP adresa (32 bitů)• přiřazována po připojení do sítě (administrátorem nebo

DHCP serverem)• unikátní v rámci sítě• topologie

• Jmenná adresa – doménové jméno• poskytovaná službou DNS (Domain Name System)• pouze pro uživatele – organizace sítě• o překlad na logické adresy se starají DNS servery

Adresování• Pro spojení a vzájemnou komunikaci dvou aplikací je vždy

nutné znát adresy obou koncových zařízení. • Doménové názvy se musí přeložit na IP adresy, podle

aktuální konfigurace sítě.• Na jednom zařízení může běžet více aplikací (služeb), které

je tedy nutné dále rozlišit.• Aplikace se spojují prostřednictvím socketu.• Socket = IP adresa + síťový port• Port je identifikátor síťové aplikace v rámci počítače –

místo (0-65535) • Pro každé spojení je nutné znát IP adresu a port.

Adresování – URL• V Internetu se používá jednotný formát adresy – URL

(Uniform Resource Locator)• typ://uživatel:heslo@počítač:port/cesta?dotaz• URL je společný formát adres pro všechny služby internetu

• typ – označení služby, protokol• uživatel a heslo – přihlašovací údaje • počítač – doménové jméno počítače (přeloží se na IP

adresu) nebo IP adresa• port – port, na kterém naslouchá aplikace poskytující

požadovanou službu• cesta – cesta k požadovanému souboru • dotaz – parametry předané aplikaci, která poskytuje službu

Síťové služby• Standardní systémy pro poskytování služeb v síti internet.• Každá služba má přiřazený komunikační protokol.• Aplikace má zdrojový port pro odesílání dat a cílový port

(contact port) pro příjem dat.• Čísla cílových portů jsou registrovaná u IANA (Internet

Assigned Numbers Authority).• Zdrojové porty se volí dynamicky.

• Příklad – protokol HTTP využívá port 80:• apache.exe TCP server:80 server:0 LISTENING• opera.exe TCP pc19:4307 server:80 ESTABLISHED• apache.exe TCP server:80 pc19:4307 ESTABLISHED

• http://www.iana.org/assignments/port-numbers

Služba WWW• WWW (World Wide Web) je systém pro poskytování

vzájemně propojených dokumentů.• Služba poskytuje přístup k dokumentům publikovaným na

internetu (webovým stránkám).• Dokumenty mohou být

• statické – soubory umístěné na webovém serveru• dynamické – obsah generovaný aplikací umístěnou na

webovém serveru (nebo v klientském počítači)• Využívá protokol HTTP (Hyper Text Transfer Protocol) pro

přenos dokumentů.• Pro formátování dokumentů je nejčastěji používán jazyk

HTML nebo XHTML.

Protokol HTTP• Protokol HTTP je bezstavový.

• Pro každou HTTP transakci se vytváří nové spojení.• Současně s ukončením spojení zanikají všechny stavové

informace o spojení.• Toto teoreticky znemožňuje například přihlášení k webu a jiné

operace, které vyžadují zapamatování stavu.• Existují však techniky, pomocí kterých je možné simulovat stavový

protokol.• Protokol HTTP podporuje dynamické formáty.

• Klient odešle serveru v HTTP hlavičce seznam podporovaných formátů.

• Server odpoví daty v nejvhodnějším formátu.• Využití: server posílá komprimovaná data jen pokud je

klient umí zpracovávat.

Protokol HTTP

• Pří komunikaci se využívá HTTP transakce:• vytvoření spojení (klient)• odeslání požadavku (klient)• odeslání odpovědi (server)• zrušení spojení (server)

• Požadavek i odpověď obsahují HTTP hlavičky.• Nastavení formátu obsahu (Content-Type)• Nastavení ukládaní do cache paměti (Cache-

Control)• A další: http://www.w3.org/Protocols

Otázky?

• Jak se liší web a internet?• Kolik různých TCP/IP protokolů denně použijete?• Kolik HTTP požadavků jste odeslali během čtení

těchto slajdů?• Je k něčemu nespolehlivý protokol?• Je důležitější znát port nebo protokol?• Je možné stáhnout webovou stránku, aniž by se

vytvářel socket?• Dá dovolat libovolného webového serveru podle

MAC adresy?• Může být server i klientem?

Recommended