INTERNET
Model ISO/OSI
Referenční komunikační model
„International Standards Organization / Open System Interconnection“
„Mezinárodní organizace pro normalizaci / propojení otevřených systémů“
Doporučený model
Model ISO/OSI
Definovaný organizací ISO v roce 1983
Rozděluje vzájemnou komunikaci mezi počítači do sedmi souvisejících vrstev.
Vrstvy jsou též známé pod označením Sada vrstev protokolu.
Model ISO/OSI
Úkolem každé vrstvy je poskytovat služby vyšší vrstvě.
Nezatěžovat vyšší vrstvu detaily o tom jak je služba ve skutečnosti realizována.
Před přesunem dat z jedné vrstvy do druhé jsou data rozdělena se do paketů.
Model ISO/OSI
V každé vrstvě se k paketu přidávají doplňkové informace (formátování, adresa).
Nezbytné pro úspěšný přenos po síti.
Model obsahuje 7 na sebe navazujících vrstev.
ISI/OSI model Data
Aplikační vrstva
Komunikace s procesem
6
Data
Prezentační vrstva
Prezentace dat a šifrování
5
Data
Relační vrstva
Koordinace komunikace
4
Segment
Transportní vrstva
Spojení
3
Paket
Síťová vrstva
Určení cesty a ligická adresace
2
Rámec
Linková vrstva
MAC a LLC – fyzická adresace
1
Bity
Fyzická vrstva
Média, signál, binární přenos
7
OSI vs. Dopisy (Poštovní služby) 7
Diktuje nebo píše zprávu Manažer
6
5
4
Čte zprávu
Manažer
Opravuje chyby, připravuje finální podobu Asistent
Upozorňuje manažera na příchozí zprávu, překládá ji Asistent
Poskytuje potřebné adresy a balí dopis
Otevírá dopis, dělá kopii
Sekretářka
Sekretářka
Veze dopis na poštu
Vyzvedává dopis ze schránky nebo na poště
Řidič
Aplikační
Zdroj: WikipediaŘidič
Prezentační
Relační
Transportní
OSI vs. Dopisy (poštovní služby) Přebírá dopis a dává ho do správné přihrádky
3
Příjem a řazení
Balí dopisy pro různé směry
2
Balení
Třídí zprávy pro různé oddělení
Síťová
Řazení a distribuce Rozbaluje dopisy z různých směrů
Linková
Rozbalování TRANSPORT
Fyzická
1
Nakládání
Zdroj: Wikipedia
Vykládání
7
Aplikační vrstva
V modelu vrstva nejvyšší. Definuje způsob, jakým komunikují se sítí aplikace
například databázové systémy, elektronická pošta nebo programy pro emulaci terminálů.
Používá služby nižších vrstev Izolovaná od problémů síťových technických prostředků. Je softwarová. Manažer
Prezentační vrstva
Určuje způsob, jak jsou data formátována, prezentována, transformována a kódována
Řeší Šifrování dat CRC Kompresi Dekompresi Háčky a čárky, …
Je softwarová Asistent
6
5
Relační vrstva
Koordinuje komunikaci
Udržuje relaci, dokud je potřebná
Zabezpečovací funkce,
Přihlašovací funkce
Správní funkce
Je softwarová
Sekretářka
Transportní vrstva
4
Definuje protokoly pro strukturované zprávy
Zabezpečuje bezchybnost přenosu
Provádí některé chybové kontroly
Řeší rozdělení souboru na pakety
Zajišťuje potvrzování
Je softwarová
Řidič
3
Síťová vrstva
Protokoly pro směrování dat
Jejich prostřednictvím je zajištěn přenos informací do požadovaného cíle (uzlu)
V lokální síti nemusí být (pokud se nepoužívá směrování).
Je obvykle hardwarová
Je softwarová, pokud směrování řeší PC se dvěma síťovými kartami.
Příjem
2
Linková vrstva
Zajišťuje integritu toku dat z jednoho uzlu sítě na druhý.
Provádí synchronizaci bloků dat
Provádí řízení toku dat.
Je hardwarová
Balení
1
Fyzická vrstva
Určuje prostředky pro komunikaci s přenosovým médiem
Definuje technické prostředky rozhraní
Definuje fyzické, elektrické, mechanické a funkční parametry fyzického propojení jednotlivých zařízení
Je hardwarová
Nakládání a transport
Technické normy internetu
Princip Klient – Server
TCP/IP
Komunikační protokol pro Internet
Komunikační protokol pro Intranet, Extranet
TCP – spojení mezi počítači
Aplikační protokoly
DNS
– systém doménových jmen
DHCP
– dynamické přidělování IP adres
FTP
– přenos souborů po síti
TFTP
– jednoduchý protokol pro přenos souborů
HTTP
– přenos hypertextových dokumentů (WWW)
HTTPS – přenos hypertextových dokumentů (WWW) zabezpečený
Aplikační protokoly
WebDAV – rozšíření HTTP o práci se soubory
IMAP
– (Internet Message Access Protocol) manipulace s jednotlivými e-mail. zprávami na poštovním serveru.
IRC
– (Internet Relay Chat) – jednoduchý chat po internetu.
NNTP
– (Network News Transfer Protocol) umožňuje číst a vkládat do sítě zprávy typu news.
NFS
– (Network File System) – sdílení vzdálených souborů jakoby byly lokální.
Aplikační protokoly
NLTM
– Autentizační protokol Windows
NTP
– synchronizace času (šíření přesného času)
POP3
– (Post Office Protocol) – protokol pro získání pošty z poštovního serveru.
SMB
– (Server Message Block) - sdílení s ouborů a tiskáren v sítích Windows
SMTP – zasílání elektronické pošty
Aplikační protokoly
SNMP – Simple Network Management Protokol je určen pro správu síťových uzlů.
Telnet – protokol virtuálního terminálu.
SSH
– bezpečný shell
X11
– zobrazování oken grafických programů v Unixových systémech
XMPP – rozšiřitelný protokol pro zasílání zpráv a sledování přítomnosti (protokol Jabber)
Technické normy internetu
IP – zajištění přenosu pomocí paketů, neřeší spojení mezi počítači
Vyžaduje IP adresu např. 192.141.25.12
IP adresa buď pevná nebo dynamicky přidělovaná
Server má IP adresu pevnou, klient ji může mít pokaždé jinou
Intranet
Internet pro interní použití. Slouží pro vnitřní potřebu „Soukromý internet“ omezený na organizaci Přístup k intranetu www prohlížečem (browser) Nemusí být spojena s internetem Např. vnitřní zkušební verze webových stránek
Extranet
Rozšíření intranetu pro externí partnery
Zákazníkům a dodavatelům umožňuje omezený přístup k podnikovým datům
Extranet vyžaduje autentifikaci (jméno a heslo)
Přihlášenému zobrazuje pouze obsah předem povolených stránek
Tvorba www stránek
Tvorba WWW stránek
Na počátku byl HTML (Hyper text markup language) (Značkovací jazyk pro hypertext)
Vytvořen L.P. 1990
Stránky statické
Zobrazení a vzhled stránky se nemění
Struktura html souboru <meta http-equiv="ContentType" content="text/html; charset=windows-1250">
Jméno samotný text stránky
DHTML – dynamické HTML
Kombinace dynamické + interaktivní stránky
Kombinace HTML, JavaScript, CSS, (DOM)
Obsah se mění – animace, změny textu (přebarvení), vyskakovací okna, vysouvací menu…
XHTML (eXtended HTML)
Novější norma jazyka HTML
Měl být rozšířený, ve skutečnosti je spíš osekaný
XHTML nepřináší nic nového proti HTML
Lze tvořit „validní“ stránky
„Přísnější HTML“ – pravidla pro psaní
Prohlížečům obvykle chyby nevadí
XHTML (eXtended HTML)
Atributy (hodnoty do závorek)
Zákaz křížení tagů
Tagy a atributy jsou malými písmeny
Nepárové tagy končí lomítkem
Párové tagy jsou párové povinně
XHTML (eXtended HTML)
Všechny atributy musejí mít hodnotu
Interní javascript a styly se zapisují jiným způsobem
Dokument má mít XML prolog.
Dokument požaduje správný doctype.
CSS (cascading style sheets)
Způsob formátování obsahu HTML
Úkol – oddělit vzhled od obsahu
Formátování – buď tagy „natvrdo“
Nebo CSS styl – u textu tag <style>, který popisuje formátování textu
Lze vložit do stránky nebo do externího souboru
CSS (cascading style sheets)
Výhoda jeden text může mít různé formátování, změna výměnou CSS stylu
Nevýhoda nekompatibilita
CSS (kdy použít)
Speciální způsob formátování
Nechci každý text znovu formátovat
Všechny stránky webu mají vypadat úplně stejně
Na stránkách je Javascript
Personal home page
Skriptovací programovací jazyk Vhodné pro DHTML Výhody – jednoduchost, počet funkcí Nevýhody – není kompletně definován
PHP
Hypertextový preprocesor
Původně Personal Home Page
Skriptovací programovací jazyk
Programování dynamických internetových stránek
Webových aplikací
Např. ve formě HTML, XHTML či WML
PHP
Lze použít i k tvorbě konzolových a desktopových aplikací.
Pro desktopové použití existuje kompilovaná forma jazyka.
Nejrozšířenější skriptovací jazyk pro web
Jednoduché použití
Obsahuje řadu funkcí
PHP
Dynamické stránky Skripty prováděny na straně serveru Uživateli je přenášen až výsledek jejich činnosti Interpret PHP skriptu je možné volat pomocí příkazového řádku, dotazovacích metod HTTP nebo pomocí webových služeb.
PHP
PHP je nezávislý na platformě,
Skripty lze většinou mezi operačními systémy přenášet bez jakýchkoli úprav.
Podpora řady knihoven
zpracování textu, grafiky práci se soubory přístup k většině databázových systémů
Některé vlastnosti jazyka PHP
Jazyk PHP je dynamicky typový Datový typ proměnné se určí v okamžiku přiřazení hodnoty. PHP má dva operátory porovnání: == před porovnáním se provádí konverze === výraz je pravdivý, jen když jsou oba dva operandy stejného datového typu a jejich obsah má stejnou hodnotu. Pole jsou heterogenní (stejné pole může obsahovat prvky různých typů), Počet dimenzí není omezen.
Výhody PHP
Specializace na webové stránky.
Podpora většiny databázových systémů.
Rozsáhlá základní knihovna funkcí (více než 5500)
Práce na různých platformách (MS Windows a Linux)
Dovoluje využití funkcí operačního systému
problém bude při přenosu na jiný OS
Výhody PHP
PHP je fakticky standardem hostingových služeb (najdeme je všude)
Knihovna volně dostupných projektů a kódů (např. WordPress, phpBB …)
Rozsáhlá, stále doplňovaná dokumentace
Prakticky volná licence
Poměrně snadno se učí (prý)
Nevýhody PHP
Neexistuje kompletní definice Popis pouze jeho implementací. Nekonzistentní vývoj v minulosti, Trvá dosud Nekonzistentní pojmenování některých funkcí Nejednotné pořadí parametrů.
Nevýhody PHP
Ve standardní distribuci chybí ladící (debugovací) nástroj.
Knihovna používá jen málokdy výjimky.
Špatná podpora Unicode
V PHP 6 má být problém s Unicode vyřešen
ASP − Active Server Pages
Programovací jazyk ASP je svými možnostmi velmi podobný jazyku PHP. ASP je serverový jazyk Umožňuje pracovat s databází, ukládat data, dynamicky generovat webové stránky. Nutností je webový server (Microsoft IIS)
ASP – Active Server Pages
ASP je vyvíjeno Microsoftem PHP je opensource. IIS - server podporující ASP rovněž není zadarmo Apache pro PHP je zadarmo. Problém je webhosting zdarma pro ASP stránky. Nabízí se ASP web a ASP2, jinak webhosting zdarma a webhosting vůbec je těžší sehnat pro ASP než pro PHP.
ASP.NET
Název je odvozen od starší technologie ASP
Obě technologie jsou velmi odlišné.
ASP.NET je založen na CLR (Common Language Runtime),
Sdílen všemi aplikacemi postavenými na .NET Frameworku.
ASP.NET
Programovat lze projekty v jakémkoliv jazyce podporujícím CLR Common Language Runtime
např. Visual Basic.NET, JScript.NET, C#, Managed C++, ale i mutace Perlu, Pythonu a další.
Aplikace ASP.NET jsou rychlejší, (jsou předkompilovány do DLL souborů)
ASP.NET
Kompilovaný kód = rychlejší aplikace Při kompilaci se dají zachytit chyby Šablony pro uživatelsky definované prvky Kód jen jednou omezení duplicitního kódu Řada ovládacích prvků a knihoven tříd zrychluje vývoj aplikací
ASP.NET
Programátoři mají na výběr velké množství programovacích jazyků
Cachování stránky (nebo její části) zvyšuje výkon serveru
Provoz na různých systémech i webových serverech, např. IIS (Windows), Apache (Windows, Linux s open source implementací .NET Monem)
Počínaje verzí 2 generuje ASP.NET validní HTML 4.0 / XHTML 1.0 / XHTML 1.1 kód a JavaScript
MySQL
Je databázový systém, Vytvořený švédskou firmou MySQL AB,
Nyní Sun Microsystems, (Oracle Corporation).
Dvojí licencování
bezplatná licence GPL komerční placená licence
MySQL
MySQL je multiplatformní databáze.
Komunikace pomocí jazyka SQL.
Jde o dialekt jazyka + některá rozšíření
Podobné jako u ostatních SQL databází
MySQL
Lze instalovat na Linux, MS Windows i jiné OS
Snadná implementace
Výkonná
Volně šiřitelný software => časté použití
Velmi oblíbená kombinace: Linux + MySQL + PHP + Apache = základní software webového serveru
MySQL
MySQL obsahovalo řadu zjednodušení: jen jednoduché způsoby zálohování
Nepodporovalo pohledy
Nepodporovalo triggery
Nepodporovalo uložené procedury
V posledních letech jsou doplňovány
Web 2.0
Web 2.0 Etapa vývoje webu od 2004 – ? Sdílení Společná tvorba obsahu Sociální sítě, You tube, blogy
Definice z Wikipedie
Termín Web 2.0 označuje to, co někteří lidé považují za další fázi vývoje webu, včetně jeho architektury a aplikací. Vyznačuje se:
Definice z Wikipedie
Změnou hypertextových stránek z izolovaných úložišť informací na zdroje obsahující informace i funkcionalitu – stávají se tak platformou poskytující webové aplikace koncovému uživateli.
Definice z Wikipedie
Sociální fenomén – tvorba a distribuce webového obsahu je dostupná komukoliv, otevřená komunikace, decentralizace autorit, sdílení a znovuvyužití.
Více organizovaný a setříděný obsah s propracovanější hyperlinkovou strukturou.
WEB 2.0
Uživatel má možnost se sám podílet na tvorbě obsahu
Za obsah zodpovídají příslušní autoři/uživatelé. (tzv. decentralizace autorit)
Sdílení informací, možnost jejich opětovného použití
Otevřená komunikace
WEB 2.0
Co má Web 2.0 společného s Yettim? Všichni o něm mluví, ale nikdo neví, jak vypadá a zda vůbec existuje. Nevíme, je-li nebezpečný nebo nám bude užitečný. Nevíme, co se stane s klasickými weby, jestli nebudou jen „otročit“. Zatím je to zajímavá značka „Web 2.0“. Důležité je, že vydělává. Ale co když je to zase jen bublina? http://www.lupa.cz/clanky/web-2-0-bublina-nebo-novy-smer-webu/
Zdroj: Klubový večer SPIR (24. dubna 2007). Připravili: Jan Makovička (Ringier ČR) a Tomáš Jindříšek (OgilvyInteractive)
/
Zdroj: Klubový večer SPIR (24. dubna 2007). Připravili: Jan Makovička (Ringier ČR) a Tomáš Jindříšek (OgilvyInteractive)
/
Zdroj: Klubový večer SPIR (24. dubna 2007). Připravili: Jan Makovička (Ringier ČR) a Tomáš Jindříšek (OgilvyInteractive)
/
WEB 2.0 Pokus o stručnou definici náplně Blogy RSS Sociální síť a tagy API + AJAX (rozhraní + nadstavby)
RSS
RSS je rodina XML formátů určených pro čtení novinek na webových stránkách Možnost odběru novinek Na zpravodajských stránkách
AJAX
Asynchronous JavaScript and XML Technologie interaktivních webových aplikací Mění obsah bez nutnosti znovunačítání
Web 3.0
Sdílení aplikací Mikroformáty Sémantický web Interakce SW 3D prostředí webu
Web 3.0 Web 2.0 Web
Web 3.0 v roce 20XX
Zatímco definice toho co je to web 2.0 je vágní, definice verze trojkové je nejasná a bezobsažná.
Informatika jako vědní obor tyto pojmy (zatím) nezná. Vyhýbá se jim jak jen může tvrdí, že se jedná o marketingovou značku.
Web 3.0 v roce 20XX
A tak možná přichází na řadu dojem, že se o žádnou změnu či technologii nejedená.
K web 2.0 si mnozí z nás přiřadili jako synonymum kulaté okraje či Wikipedii.
Co si přiřadí k trojkové verzi není jasné.
Web 3.0 Sémantický web
Sémantický, neboli významový web
Poprvé vyslovil Tim Berners-Lee 2001
Současný web = změť webových stránek
Neustále roste
Je stále složitější nalézt potřebné informace.
Sémantický web = rozšíření webu
Informace mají definovaný význam
Počítače a lidé lépe kooperují
Schéma sémantického webu dle W3C
Sémantický web
Technologickým základem RDF (Resource Description Framework) Obecný rámec pro popis, výměnu a znovupoužití metadat. Jednoduchý model pro popis zdrojů Nezávislý na implementaci. RDF specifikuje zdroj, vlastnost, hodnota vlastnosti Přiřazení sémantiky webovým zdrojům