Serverové technologie pro dynamickou tvorbu webových stránek

Rozměr: px
Začít zobrazení ze stránky:

Download "Serverové technologie pro dynamickou tvorbu webových stránek"

Transkript

1 Bankovní institut vysoká škola Praha Katedra matematiky, statistiky a informačních technologií Serverové technologie pro dynamickou tvorbu webových stránek Bakalářská práce Autor: Tomáš Peroutka Informační technologie, Správce informačních systémů Vedoucí práce: Ing. Vít Fábera, Ph.D. Praha duben 2013

2 Prohlášení: Prohlašuji, ţe jsem bakalářskou práci zpracoval samostatně a v seznamu uvedl veškerou pouţitou literaturu. Svým podpisem stvrzuji, ţe odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámen se skutečností, ţe se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací. V Praze dne Tomáš Peroutka

3 Poděkování Rád bych touto cestou poděkoval vedoucímu bakalářské práce Ing. Vítu Fáberovi, Ph.D. za poskytnutí odborných rad, věcných připomínek a vstřícný přístup během zpracování této práce. Dále děkuji všem svým blízkým za podporu a trpělivost během mého studia.

4 Anotace Bakalářská práce předkládá základní koncepce a přehledy technologií pro dynamickou tvorbu webových stránek. Dále jsou prezentovány technologie důleţité pro fungování webových aplikací v prostředí internetu. Praktická část práce je zaměřena na konkrétní webovou aplikaci, která pro svou činnost vyuţívá internet a technologii PHP. Klíčová slova: Apache, PHP, protokol, web, webový server. Annotation The bachelor s thesis offers basic principles and overview of dynamic web pages creating technologies. Further there are technologies presented that are important for web applications operated in internet environment. The practical section dials with concrete real web application that utilizes internet and PHP technology. Key words: Apache, PHP, Protocol, Web, Web s Server.

5 Obsah Úvod Seznámení s technologií tvorby dynamických webových stránek World Wide Web HTML Sítě klient/server Síťový model TCP/IP Síťové protokoly Protokol IP Protokol TCP Protokol HTTP Webové servery a související technologie Webové servery Apache Microsoft IIS Nginx Přenos souborů na webový server FTP PUT WebDAV Databázové servery Skripty pro dynamické generování stránek Volání skriptů Technologie pro vytváření serverových skriptů Komplexní řešení XAMP LAMP Porovnání a zhodnocení moţných řešení Výkon aplikací Podpora prostředí při vývoji aplikací Náklady na pořízení a provoz technologie Ukázková aplikace a její funkce Popis aplikace MEETING SERVER Ovládání z pohledu správce skupiny Ovládání z pohledu člena skupiny Popis implementace Databáze aplikace MEETING SERVER

6 4.3.1 Uspořádání relací v databázi Tabulky (relace) v databázi Spojení aplikace s databází Funkcionality aplikace MEETING SERVER Přihlašování uţivatele Skupina a její aktivity Vloţení nové aktivity Aktivace uţivatele Pomocné databázové skripty Závěr Seznam pouţité literatury Příloha: CD 6

7 Úvod Cílem této práce je seznámení s pojmem dynamická tvorba webových stránek a také s technologiemi, které umoţňují dynamickou tvorbu webových stránek vyuţívat. Na těchto technologiích jsou v současné době postaveny všechny moderní webové aplikace, mající za úkol, pruţně reagovat na dotazy uţivatele, zobrazovat relevantní informace nebo data, která se mění s časem nebo podle uţivatelových poţadavků. V praktické části je vyuţito prezentovaných technologií pro vytvoření webové aplikace, která vyuţívá dynamické webové stránky pro zobrazování dat uţivatelských skupin. Data uţivatelů jsou uloţena v databázi a jsou dále zpracovávána na základě plynutí času. 7

8 1 Seznámení s technologií tvorby dynamických webových stránek Technologie pro dynamickou tvorbu webových stránek umoţňují v moderních aplikacích zpracovávat podle algoritmů uţivatelem vloţená data a výsledky těchto zpracování ukládat do databází pro další vyuţití nebo je zpět jako výsledky své činnosti předkládat uţivateli. Rychlý vývoj v oblasti IT umoţnil i rozvoj a stále větší oblíbenost aplikačního software zaloţeného na síťových technologiích a internetu obecně. Dynamické zobrazování webových stránek vyuţívá základní technologie shodné jako staticky zobrazované stránky, ale navíc vyţaduje podporu na straně serveru ve formě provádění skriptů v některém z programovacích jazyků. 1.1 World Wide Web World Wide Web (zkráceně web nebo WWW) je výsledkem mnoha let neustálého vývoje. Na vzniku internetu nemá zásluhu ţádný jednotlivec ani skupina. Web je zaloţen na odkazech na jiné dokumenty, které jsou vloţené přímo v textu. Těmto odkazům říkáme hypertextové odkazy a mají své počátky ve čtyřicátých letech. I přes tyto skutečnosti je web obvykle povaţován za nápad člověka jménem Tim Berners-Lee, který předloţil v roce 1989 návrh na výzkumný projekt CERN v Ţenevě ve Švýcarsku. Projekt byl zaloţený na hypertextových odkazech a poznali bychom v něm web, jak ho známe dnes. V té době vědci určitě nepředpokládali, ţe se jejich představy zhmotní do takových rozměrů. WWW je jednou ze sluţeb internetu, která umoţňuje prohlíţení webových stránek a spouštění webových aplikací. Tato sluţba je uţivatelsky orientovaná a uţivatel pro její vyuţívání nemusí znát ţádné speciální příkazy. Vyuţívá se pro prezentaci soukromých nebo firemních dat nebo informací státní správy, elektronické obchodování, elektronické bankovnictví a další aplikace.[1] Jak funguje web Základním kamenem webu je hypertextový odkaz (hyperlink). Odkaz na webové stránce můţe odkazovat na zdroje umístěné kdekoliv na světě. Aby celý systém zaloţený na hypertextových odkazech fungoval, musely být vytvořeny tři základní části webu. Jednou 8

9 z nich je jedinečná a všeobecně akceptovaná identifikace kaţdého zdroje. K této identifikaci slouţí URL (Uniform Resource Lokator). Druhou částí je systém formátování přenášených dokumentů, aby bylo moţné do nich vkládat identifikátory zdrojů. Formátování představuje HTML (HyperText Markup Language). Třetí část zastupuje síťový komunikační protokol HTTP (HyperText Transfer Protocol), který reprezentuje spojení mezi klientskými počítači a webovými servery do jednoho informačního systému.[1] URL URL (Uniform Resource Lokator) je způsob identifikace zdroje dostupného v internetu. URL je speciálním případem URI (Uniform Recource Identifier) řetězce, kterému rozumí webové servery a jednoznačně identifikuje zdroj v síti. URL se skládá ze tří částí: 1. Mechanismus pro získání zdroje. 2. Název hostitele serveru, který můţe zdroj zprostředkovat. 3. Název zdroje, obvykle tvořen názvem dokumentu a cestou k tomuto dokumentu. Příklad URL: Mechanismem pro získání zdroje s názvem FAQ.html je protokol HTTP, který se automaticky doplní, není-li součástí URL při zadávání do adresního řádku prohlíţeče. FAQ.html se nachází v adresáři docs a podadresáři mics. Název hostitele je Většina lidí přemýšlí o webu jako o navštěvování webových sídel, ale mechanismus nespočívá v chození někam, ale v načítání prostředků (obvykle webových stránek) po síti pomocí jedinečného identifikátoru prostředku: jeho URL.[1] 1.2 HTML HyperText Markup Language (HTML), je hlavní prostředek pro prezentaci webových stránek. HTML je značkovací jazyk, s jehoţ pomocí, tvůrce webových stránek říká softwaru 9

10 webového prohlíţeče, jak by stránka měla vypadat. HTML obsahuje značky pro označování nadpisů, tučného písma, kurzívu, členění do odstavců, tabulky, hypertextové odkazy atd. HTML umoţňuje svými značkami dělit obsah na části, které spolu sémanticky souvisí. Zdrojový kód HTML je moţné vytvářet pomocí softwarových nástrojů s grafickou podporou, ale mnozí tvůrci webových stránek upřednostňují psaní kódu v jednoduchém textovém editoru, který můţe být integrován do vývojového prostředí upozorňující například na chyby v syntaxi.[7] Ukázka zdrojového kódu formuláře v HTML: <form method= POST action= > <fieldset id= form_new_user > <legend>přidat nového člena</legend> <ul> <li> <label for= new_user_mail > </label> <input type= text name= new_user_mail value= > </li> <li> <input type= submit name= tl value= přidat > </li> </ul> </fieldset> </form> Na obrázku 1 je klientem zpracovaný HTML kód. Proporce a barvy formuláře jsou nastaveny CSS styly. Obrázek 1: Klientem zpracovaný zdrojový kód formuláře, zdroj: autor 10

11 1.3 Sítě klient/server Počítačové sítě dělíme podle způsobu správy sdílených dat (administrace) na sítě klient/server a sítě peer-to-peer. V sítích peer-to-peer pracuje kaţdý počítač jako server a zároveň jako klient, administraci sdílených dat provádí kaţdý uţivatel na svém počítači. Toto uspořádání je vhodné do pracovních skupin. Pro web, kde se vyuţívají dedikované počítače a centrální úloţiště dat se lépe hodí uspořádání klient/server. Klientem je počítač, resp. program, který odesílá poţadavek druhému počítači, za účelem získat jeho data nebo zdroje. Počítač, (program), který odpovídá na poţadavek a sdílí svá data nebo zdroje se nazývá server. V sítích typu klient/server jsou převáţně dedikované servery, velice výkonné stroje primárně určené pro konkrétní činnost (např. sdílení souborů, aplikací nebo periférií). Na serverech běţí speciální serverový software, který zajišťuje tuto specifickou činnost serveru. Přístup na server je většinou omezen na administrátory, kteří jej vyuţívají pro správu serveru a monitoring a správu sítě. Mezi servery, které vykonávají právě jednu konkrétní funkci, patří například: Souborové servery ukládání sdílených dat, Tiskové servery správa síťových tiskáren, DNS servery překlad a mapování doménových jmen, Webové servery ukládání a zpracování dat určených pro www prezentace a komunikaci s klienty pomocí HTTP protokolu, Poštovní servery poskytují schránky elektronické pošty, a další.[7] 1.4 Síťový model TCP/IP Síťový model interpretuje procesy účastnící se v síťové komunikaci. Nejznámější modely prezentují tyto procesy jako vrstvy nebo úrovně, a jsou nazývány jako vrstvené modely. Nejvíce pouţívanými jsou sedmivrstvý Open System Interconnection (OSI) model, čtyřvrstvý model TCP/IP (DoD model 1 ) a síťový model Microsoft Windows. I kdyţ se jedná o řešení nejpomalejší a nejnáročnější na konfiguraci, je sada protokolů TCP/IP zdaleka nejrozšířenější. Na tomto modelu je postavené celé fungování dnešního internetu. Síťový model TCP/IP 1 TCP/IP model vychází z původního modelu amerického ministerstva obrany (Department of Defense DoD). 11

12 obsahuje 4 vrstvy. Kaţdá z vrstev vţdy komunikuje jen s vrstvami nejbliţšími, to znamená, ţe niţší vrstva poskytuje sluţby vyšší vrstvě a vyšší vrstva vyuţívá sluţeb niţší vrstvy. Za pomoci modelu vrstev a jeho protokolů je síťový komunikační proces rozdělen do čtyř částí. Na obrázku 2 je srovnání modelů TCP/IP a OSI. Obrázek 2: Srovnání vrstvených síťových modelů, zdroj: [7] Vrstva síťového rozhraní Vrstva síťového rozhraní je nejspodnější vrstvou a je určena pro pouţití jakékoli přenosové technologie. Model nepředpokládá ţádné parametry této vrstvy jako je rychlost nebo spolehlivost. Vyšší vrstvy mají za úkol zakrýt tuto vrstvu a vytvořit nad ní jednotné prostředí. Na této vrstvě pracují protokoly Ethernetu a Token Ring a také protokoly fyzické vrstvy ISO modelu. Mezisíťová vrstva Mezisíťová vrstva odpovídá síťové vrstvě ISO modelu a zabývá se směrováním na základě logických (síťových) adres. Address Resolution Protocol (ARP) překládá logické adresy na MAC adresy, jelikoţ niţší vrstvy jsou schopny interpretovat pouze MAC adresy. Vrstva je koncipována jako nespolehlivá, komunikuje pomocí IP protokolu a je implementována ve všech částech přenosové sítě. 12

13 Vrstva host to host Vrstva host to host koresponduje s transportní vrstvou ISO modelu. V této vrstvě pracují transportní protokol TCP, který je relativně spolehlivý, nespolehlivý transportní protokol UDP jako nadstavba IP protokolu. Aplikační vrstva se můţe rozhodnout, který z protokolů je pro ni výhodnější. Tato vrstva se také stará o rozčlenění komunikace jednotlivým aplikacím v rámci uzlu tzn. přidělování paketů na jednotlivé porty, na kterých aplikace čekají data. Aplikační vrstva Aplikační vrstva v sobě zahrnuje tři vrstvy modelu ISO, tedy aplikační, prezentační a vrstvy Session (relační) a nejedná se tedy o čistě aplikační vrstvu ISO modelu. Tato vrstva zajišťuje interakci mezi vlastní aplikací a sítí. Patří sem např. FTP protokol pro přenos souborů nebo protokoly pro přenos elektronické pošty. Na této vrstvě se také odehrává kódování dat. Síťový model protokolů TCP/IP vznikl mnohem dříve neţ model ISO, který se jiţ od začátku snaţil být standardem pro velké mnoţství výrobců software a měl postupně od 80. let nahradit TCP/IP protokoly. Nicméně se tak nestalo a TCP/IP vládne Internetu dodnes i díky schopnosti se neustále rozvíjet (např. transformace na IPv6). Mezi další aspekty úspěchu TCP/IP patří: flexibilní adresní schéma TCP/IP, které je dobře směrovatelné i v rámci rozsáhlých sítí, většina operačních systémů a platforem mohou s TCP/IP pracovat, existuje řada nástrojů a pomůcek usnadňující práci s protokoly TCP/IP, TCP/IP je protokolem globálního Internetu. Systém, který se chce připojit do sítě Internet, musí umět TCP/IP.[7][11] 1.5 Síťové protokoly Síťový protokol je sada určitých pravidel, podle kterých počítače komunikují. Protokoly jsou často přirovnávány k jazykům, ale lepším je přirovnání k syntaxi jednotlivých jazyků, coţ představuje určité pořadí, podle kterého se prvky komunikace objevují a zase mizí. Podle těchto daných pravidel spolu mohou komunikovat i značně rozdílné uzly sítě, zaloţené na různých platformách s různým síťovým softwarem. Kaţdý z protokolů náleţí některé 13

14 z vrstev modelu TCP/IP, ale vrstva můţe obsahovat více protokolů, které se podporují nebo naopak vylučují.[7][11] Protokol IP Internet protocol (IP) vyuţívá mezisíťová vrstva pro směrování paketů na základě IP adres. Kaţdé zařízení připojené k síti má svou unikátní IP adresu, která toto zařízení v síti jednoznačně identifikuje. IP adresa se skládá ze dvou částí. Jedna část identifikuje síť a druhá představuje zařízení. Existují dva způsoby, jak je moţné získat IP adresu: Pevná IP adresa přidělená poskytovatelem připojení. Adresa musí být ručně zadána administrátorem při konfiguraci vlastností TCP/IP. Automaticky přidělená IP adresa. Adresa je přidělována serverem DHCP, který vybírá z platných IP adres. Adresa nemusí být stále stejná, ale můţe se měnit. IP adresa reprezentovaná binárně by byla pro většinu lidí špatně čitelná, proto se vyuţívá zápis v tečkovaném-desítkovém formátu. Zápis takové adresy vypadá např. takto: Tento zápis vychází ze standardu IPv4 a představuje 2 32 moţných adres. Nově navrţený standard IPv6 pouţívá 128-bitovou adresu a poskytne pouţitelných adres. IP protokol upřednostňuje rychlost přenosu na úkor spolehlivosti, a má za úkol, nalézt cestu od zdroje k cíli. Charakteristikou tohoto protokolu je, ţe není orientován na spojení, coţ znamená, ţe se nesnaţí navázat spojení, ale posílá data v tzv. datagramech a neověřuje, zda byla doručena. V tom spočívá jeho nespolehlivost a nechává na transportní nebo aplikační vrstvě, aby si tuto nespolehlivost ošetřily, pokud potřebují. Filosofie tohoto protokolu vychází z potřeby překlenout náhodné výpadky sítě, které by při spojitém trvalém spojení bylo nutné toto spojení znova navazovat. Při nespojité komunikaci IP protokolem jsou pouze přesměrovány datagramy přes jiný funkční uzel sítě.[7][11] 14

15 1.5.2 Protokol TCP Transmission Control Protocol (TCP) umoţňuje navázat spojité a spolehlivé spojení. Protokol vytváří zdání spojitosti pro aplikaci, která vkládá data po bytech do vyrovnávací paměti tzv. bufferu. TCP protokol vytvoří z těchto dat segmenty a tyto celky potom předává síťové vrstvě. Naopak přicházející data jsou uchovávána v mezipaměti a teprve po zkompletování jsou data postupně předávána aplikaci. Kaţdý segment obsahuje kromě vlastních dat ještě informaci o pozici prvního bytu těchto dat v celém proudu bytů a na základě této informace dochází k sestavování přijatých dat. Celý proces sdruţování dat do segmentů a naopak je plně v kompetenci TCP protokolu a je pro aplikační vrstvu neviditelný a vytváří se tak proud bytů. Existují však aplikace, pro které by čekání na naplnění mezipaměti znamenalo velkou časovou prodlevu a mohou si vynutit okamţité odeslání dat pomocí mechanismu nazývaného push.[7][11] Navázání spojení Navázání spojení TCP protokolem má tři fáze tzv. 3 way handshake: 1. Klient odešle segment ţádost o synchronizaci (SYN), která je vygenerovanou sekvencí čísel (X). 2. Server odpovídá potvrzením (ACK), která je sekvencí SYN klienta, zvýšená o 1 (X+1), a také svou vlastní vygenerovanou sekvencí SYN (Y). 3. Klient k sekvenci SYN serveru přičte 1 a vrací ji jako ACK (Y+1). V okamţiku oboustranného obdrţení potvrzení o vzájemné komunikaci, je spojení vytvořeno. 15

16 Obrázek 3 graficky znázorňuje celý průběh navázání spojení protokolu TCP. Obrázek 3: Navázání TCP komunikace, zdroj: autor Takto navázané spojení je plně duplexní, to znamená, ţe se vytvoří dva jednosměrné kanály pro vysílání.[7] Kontrola přijatých dat U dat přijatých do mezipaměti dochází ke kontrole jejich kompletnosti. Nejsou však kontrolovány segmenty, ale jednotlivé byty. Pro přenos kaţdého bytu musí být zvýšeno sekvenční číslo X o 1. Ve skutečnosti je sekvenční číslo přiřazeno pouze prvnímu bytu a příjemce segmentu potvrzuje přijetí dat sekvenčním číslem zvýšeným o počet přijatých bytů, to znamená, pokud si zvolíme sekvenční číslo rovné 200, přenesením 30 bytů a data obdrţí příjemce bez problémů, potvrdí příjem bytů 200 aţ 230 ACK segmentem se sekvenčním číslem 231 (=sekvenční číslo segmentu, jehoţ přijetí dále očekává). Odpověď ACK segmentem se sekvenčním číslem např. 208 signalizuje správné přijetí bajtů 200 aţ 207. Sekvenční čísla a jejich potvrzování řeší problémy s duplicitně obdrţenými segmenty, znovu odeslání ztracených segmentů a zpracování segmentů ve správném pořadí. Pro ověření správnosti doručených segmentů se pouţívá kontrolní součet v hlavičce segmentu. Jestliţe některý z bytů chybí, není vysláno potvrzení anebo pokud potvrzení o doručení nebylo vzhledem ke zpoţdění doručeno včas, odesílatel vyšle nepotvrzená data znovu. Odesílání a přijímání dat zároveň je umoţněno díky plně duplexnímu spojení, které je 16

17 ukončeno, aţ kdyţ jsou odeslána všechna data. TCP protokol na straně příjemce také reguluje tok dat, aby nedocházelo k zahlcení příjemce daty, která nestihl zpracovat. Tato regulace je prováděna výpočtem na straně příjemce, kolik mezipaměti má ještě k dispozici, neţ dojde k jejímu zaplnění a tuto informaci zasílá s potvrzením správně přijatých bytů odesílateli.[6] Ukončení spojení Ukončení spojení se provádí také ve třech krocích. Kaţdý kanál duplexního vysílání je uzavírán samostatně. 1. Klient posílá serveru FIN segment. 2. Server odpovídá FIN+ACK segmentem. 3. Klient ukončuje spojení potvrzujícím ACK segmentem. Vyuţívání třech fází při navazování a ukončování spojení je nutné v prostředí, kde můţe vzniknout zpoţdění v komunikaci, ztráta nebo duplicita dat.[6] Spojení mezi klientem (prohlíţečem) a webovým serverem se vytváří pomocí tohoto protokolu většinou přes port 80 a na základě takto vytvořeného spojení můţe být realizována komunikace pomocí protokolu HTTP.[7] Protokol HTTP HyperText Transfer Protocol (HTTP) definuje chování očekávané od klienta i serveru a řídí se podle tohoto protokolu přenos objektů mezi oběma účastníky spojení. Protokol HTTP zajišťuje přenos HTML a s pomocí rozšíření MIME i přenos jiných datových typů. HTTP je aplikační protokol zaloţený na bázi dotaz odpověď, veškerá aktivita vychází od klienta, který pomocí tohoto protokolu formuluje své poţadavky. V aktuální verzi 1.1 není spojení přerušováno a znovu navazováno s kaţdým dotazem jako ve verzi 1.0, ale spojení trvá, dokud ho klient nepřeruší. Jedná se o doplnění s názvem Keep Alive, takto navázané spojení je ale časově omezené. Neprovázanost poţadavků a odpovědí s dalšími poţadavky otevírá dveře pro moţné útoky a neoprávněné dotazy na server, kdy útočník na sebe bere identitu oprávněného a můţe číst a pozměňovat jeho data. Tato rizika je nutné řešit dalšími opatřeními, jako je například šifrovaná komunikace pomocí SSL nebo TSL certifikátu.[1][7] 17

18 Hlavičky Poţadavek klienta i odpověď serveru začíná hlavičkami. Hlavičky se dělí na obecné, hlavičky poţadavků a hlavičky odpovědí. Obecné hlavičky přenášejí informace o spojení mezi klientem a serverem a vztahují se k celé relaci, k poţadavku klienta i k odpovědi serveru. Mezi obecné hlavičky patří: Cache-Control direktivy pro proxy servery, Connection moţnosti tohoto síťového spojení, Date datum a čas odeslání poţadavku, Transfer-Encoding oznamuje transformace aplikované na tělo zprávy, atd. Hlavičky poţadavků klientů: Accept typy MIME, které klient akceptuje, Accept-Charset znakové sady akceptovatelné klientem, Accept-Encoding klientem akceptovatelná kódování, Host název hostitele, atd. Hlavičky odpovědí serverů: Age očekávaný čas serveru pro splnění poţadavku, Location obsahuje URI, na který by měl být klient přesměrován, Server informace o software pouţívaném serverem pro vyřízení poţadavku, Content-Type typ odesílaného obsahu, atd. 18

19 Více informací o hlavičkách ve specifikaci HTTP 2.[1][7] Příklad komunikace pomocí HTTP Formulování požadavku odesílá klient GET /sporeni.html HTTP/1.1 HOST: prázdný řádek značí konec požadavku GET jedna z moţností jak odeslat poţadavek, parametry poţadavku jsou zobrazené v URL a uloţené v globální proměnné $_GET. Tato metoda je vhodná pro malá mnoţství dat a pro data u kterých nám nevadí, ţe jsou viditelná v adresním řádku klienta. Celý první řádek znamená chtěl bych dostat dokument sporeni.html obsaţený v doméně a odpověď poţaduji v protokolu HTTP 1.1. POST další z moţností jak posílat data na server. Vyuţívá se hlavně dat z formulářových polí, je vhodná i pro větší objemy dat a tato data nejsou nikde zobrazována. Data jsou uloţena v globální proměnné $_POST. Jsou i další moţnosti dotazování, např. HEAD pro dotaz, zda objekt existuje nebo PUT, OPTIONS, TRACE, DELETE, CONNECT. Formulování odpovědi odesílá server HTTP/ OK Content-type: text/html prázdný řádek značí konec hlavičky následuje tělo dokumentu v html První hlavička říká klientovi v jakém formátu je odpověď (http 1.1) a kód odpovědi. Těchto kódů je několik, 200 OK znamená dokument nalezen. Následuje hlavička vypovídající o typu obsahu.[1][7] 2 Protokol RCF 2616, 19

20 Stavové kódy obsažené v hlavičce odpovědi serveru Tyto kódy informují klienta o stavu jeho poţadavku a jsou obsaţeny v hlavičkách odpovědí webových serverů informativní kódy, úspěšné vyřízení poţadavku, 200 OK soubor nalezen, vše v pořádku, odesláno, přesměrování poţadavku, 301, 302 soubor byl přesunut jinam, většinou následuje přesměrování na nové místo, 304 nezměněno, pouţívá se u stránek, které máme uloţené v cache paměti a chceme je načítat pouze, pokud se změnil jejich obsah, poţadavek klienta byl chybný, 401, 403 neautorizovaný přístup, 404 stránka nenalezena, hledaný obsah zde není, 410 stránka zde byla, ale jiţ není k dispozici, chyba na straně serveru, 500 interní chyba serveru. Kategorie odpovědí obsahují více neţ 40 jednotlivých kódů odpovědí 3, kaţdá s krátkým komentářem, aby vše bylo srozumitelnější pro uţivatele. HTTP protokol má svá slabá místa. Jedná se hlavně o onu nesouvislost poţadavků, přerušování spojení a z toho vyplývající špatnou jednoznačnou identifikaci klientů. Některá 3 Kompletní seznam lze nalézt v HTML Writers Guild na adrese 20

21 data se musí s kaţdým poţadavkem neustále posílat znovu. Pro předávání těchto dat se vyuţívají tzv. Cookies a Session.[1][7] 21

22 2 Webové servery a související technologie 2.1 Webové servery Webový server je počítač připojený k Internetu, na kterém běţí softwarová aplikace webového serveru, která čeká na spojení s klienty na konkrétním portu. Klientem je obvykle webový prohlíţeč, ale můţe jím být např. webový nástroj na vyhledávání a indexaci stránek. Po vytvoření jsou zdrojové HTML stránky uloţeny do adresářové struktury disku webového serveru a následně zprostředkovávány klientským počítačům pomocí HTTP protokolu. Při doručení poţadavku klienta v HTTP protokolu webový server nejprve analyzuje hlavičky poţadavku a podle jména domény v hlavičce HOST hledá příslušný adresář a v něm poţadované dokumenty. Následně server odešle odpověď v závislosti na tom, zda bylo moţné poţadavku vyhovět či ne. Před přenosem dat odesílá server hlavičky, které obsahují informace o poţadovaném zdroji, které klientu říkají, jak má data interpretovat nebo formátovat. Mnoho webových serverů umoţňuje autentizaci uţivatelů nebo šifrování dat. Další společnou vlastností webových serverů je, ţe umoţňují klientům přístup k databázím, takţe klient nepotřebuje vyuţívat speciální aplikace databázového klienta. Aplikací webový server je provozováno mnoho od různých společností a programátorů, ale zmíním se pouze o třech, které se podle statistik společnosti Netcraft 4 podílejí na cca 85% prezentací všech webových stránek. Obrázek 4 znázorňuje vývoj zastoupení webových serverů na trhu s webhostingovými sluţbami v uplynulých letech.[1][7] 4 Netcraft je společnost zabývající se konzultační a poradenskou činností v oblasti IT. 22

23 Obrázek 4: Zastoupení webových serverů napříč doménami, zdroj:[10] Apache Apache je podle statistik nejrozšířenější (cca 55% všech webhostingů) multiplatformní open source webový server, vyvíjený neziskovou organizací Apache Software Foundation 5 (ASF). Zdrojové kódy tohoto serveru jsou nejen volně šiřitelné, ale je moţné, je dále upravovat a šířit i za úplatu. U takto změněné verze musí být pouze zřetelné, ţe základem je Apache, upravený zdrojový kód nemusí být zveřejněn jako u software pod licencí GPL 6.[1] Praktické vlastnosti serveru Apache Vlastnosti serveru Apache, které spoluvytvářejí důvody, proč je tento webový server tak populární. Apache striktně dodrţuje standard HTTP 1.1 a plně vyuţívá moţnosti tohoto protokolu, Apache podporuje virtuální hosting více webových sídel na jednom serveru, Rozšiřující moduly Apache je moţné načítat za běhu, bez nutnosti rekompilace serveru, 5 Společnost pro organizování, legalizaci a finanční podporu open source software projektů General Public License všeobecná veřejná licence, pod kterou je šířen např. OS Linux. 23

24 Přizpůsobitelnost Apache pomocí modulů jiţ vytvořených nebo moţnost naprogramování vlastních modulů v jazyce C nebo Perl, Podpora programovacích jazyků a integračních technik např. PHP, Perl, Java servlety, JSP, ASP, CGI, FastCGI, SSI, Pouţití Apache jako proxy serveru s modulem mod_proxy, Zabezpečení umoţňující autentizaci uţivatelů a ověřování vůči rozsáhlým databázím, Podpora SSL protokolu zahrnující správu digitálních certifikátů a šifrování dat, Podpora databází MySQL, MS SQL, PostgreSQL, Oracle, ODBC, Generování statistik.[1] Moduly rozšiřující funkce serveru Apache S výjimkou základního kódu jádra, jsou funkce serveru Apache začleněny jako moduly a distribuovaná instalace jiţ nejčastěji pouţívané moduly obsahuje. Pokud je třeba funkcí, které nejsou obsaţené v této základní instalaci, je moţné doplnit je různými rozšiřujícími moduly. Připojení modulů se provádí přes API (Application Program Interface) Apache, které umoţňuje programátorům, vytvářet a připojovat moduly, aniţ by znali zdrojový kód jádra Apache. Programátorovi stačí znát pouze kód a fungování API. Z tohoto důvodu existuje celá řada modulů, vytvořených a podporovaných třetími stranami. Druhy rozšiřujících modulů Modul jádra musí být vţdy připojen, jeho funkce jsou dostupné na všech serverech Apache Standardní moduly součást distribuce, udrţovány ASF, nepouţívané mohou být odstraněny z důvodu úspory paměti. Moduly třetích stran vytvořené, podporované a distribuované jinými zdroji neţ ASF, některé osvědčené zařazeny do distribuce Moduly mod_perl rozšíření API o moduly psané v jazyce Perl (předchozí 3 druhy modulů musí být programované v jazyce C).[1] 24

25 Příklady některých modulů: Virtuální hosting Názvem virtuální hosting se rozumí udrţování více webových sídel na jediném serveru a rozlišování těchto sídel podle aliasů na názvy hostitele nebo (méně často) podle odlišných IP adres, pokud jimi server disponuje. Virtuální hosting umoţňuje sdílení jednoho webového serveru více klienty a těmto klientům zprostředkovává vlastní webové sídlo, přístupné přes vlastní registrovaný název domény. Tuto funkcionalitu umoţňuje modul mod_virtual, který podporuje oba způsoby virtualizace. Zabezpečení serveru Apache Základní zabezpečení webového serveru se provádí ve třech krocích. Prvním z nich je ověřování přístupu pomocí modulu mod_access, který vyhodnocuje HTTP poţadavky klientů. Modul můţe zamítnout poţadavek na základě HTTP nebo IP adresy, ze které poţadavek přichází. Direktivy pro povolení nebo zakázání přístupu se vztahují vţdy k určitému adresáři, je moţné poměrně konkrétně specifikovat toho, kdo má přístup nebo naopak kdo přístup nemá. Pouţívají se dvě direktivy: allow hostitelé, kteří mají přístup deny hostitelé, kteří přístup nemají order určuje pořadí allow a deny v případě, ţe některým uţivatelům přístup povolujeme a některým zakazujeme mutual-failure umoţňuje přístup hostitelům na seznamu allow, kteří nejsou na seznamu deny Specifikace hostitele se provádí: dílčí nebo celou IP adresou allow from dílčími doménovými názvy deny from.some.domain.com dvojicí čísla sítě a maskou podsítě allow from /

26 Druhým krokem je ověření identity ţadatele podle přihlašovacích údajů (jméno, heslo) nebo digitálního certifikátu a třetím krokem je autorizace, zjištění rozsahu oprávnění (řízení přístupu) pro identifikovaného uţivatele. Oba tyto fáze jsou předmětem funkce jediného modulu. Uživatelské údaje v textovém souboru mod_auth Ověřování pomocí mod_auth je prováděno podle textového souboru, ve kterém jsou uloţená jména a hesla uţivatelů. Hesla v tomto textovém souboru jsou zapsaná v šifrované podobě, aby je nebylo snadné přečíst. Nevýhodou neindexovaného textového souboru je, ţe pokud počet uţivatelů naroste přes tisíc, je ověřování uţivatelů značně pomalé. Uživatelské údaje v databázi mod_auth_dbm Existuje mnoho řešení a modulů ověřování proti komerčním i nekomerčním databázím (např. mod_auth_dbm UnixDBM, mod_auth_mysql MySQL, mod_auth_ora8 Oracle verze 8, atd.) Modul mod_auth_dbm provádí ověřování podobně jako mod_auth. Na rozdíl od mod_auth je soubor, ve kterém jsou uloţeny dvojice jméno heslo, ve formátu DB, který není moţné jednoduše otevřít v textovém editoru a vyhledávání v tomto souboru je mnohem efektivnější. V jiných modulech je ověřování prováděno proti relacím v databázi. Secure Socket Layer (SSL) Metody ověřování uţivatele, popsané v předchozích odstavcích, jsou zaloţené na nezabezpečeném přenosu jména uţivatele a hesla mezi klientem a serverem. Aplikace, u kterých je vyţadována vyšší úroveň zabezpečení (internetové bankovnictví), musí být celá komunikace mezi klientem a serverem šifrovaná a musí být jasně čitelná identita klienta i serveru. Protokol SSL, vyvinutý společností Netscape Communications v polovině devadesátých let, poskytuje privátní komunikační kanál mezi webovým serverem a klientem a také zajišťuje jejich identifikaci. Principem je ověřování serveru digitálně podepsaným certifikátem a také pouţití asymetrických šifer. Webový server Apache s modulem mod_ssl umoţňuje komunikaci pomocí SSL protokolu. 26

27 Vyjmenované vlastnosti platí pro Apache ve verzi 2.0. V současnosti je k dispozici webový server Apache 2.4.[1] Získání a provoz webového serveru Apache Binární zdrojový kód zkompilovaný pro různé operační systémy lze získat na stránkách společnosti ASF. Balíky s názvy LAMP nebo XAMP lze stáhnout z jiných webových zdrojů a kromě webového serveru Apache obsahují také další doplňující software potřebný pro fungování webových sídel. Server Apache je moţné provozovat pod různými operačními systémy od Linuxu přes MS Windows aţ po Mac OS. Velkou výhodou Apache je jeho obrovské rozšíření po celém světě, coţ vytváří stejně tak obsáhlou síť podpory od administrátorů a uţivatelů. U takto rozšířeného software je pravděpodobné, ţe při vyskytnutí se problému bez ohledu na jeho povahu, je někdo, kdo jiţ takový problém řešil. Také dokumentace k tomuto serveru je velmi rozsáhlá a je umístěna na stránkách ASF.[1] Microsoft IIS Internet Information Services (IIS) je webový server od společnosti Microsoft, poskytovaný zdarma jako součást balíku operačního systému MS Windows, který je nutný pro provoz serveru. Modularita tohoto serveru zahrnuje funkce zabezpečení a autentizace, FTP server, komprese obsahu, diagnostika, ISAPI, atp. Webový server IIS podporuje PHP nebo CGI technologie, ale programovací jazyky a prostředí společnosti Microsoft jsou technologiemi, pro které je server postaven. Mezi tyto technologie patří např. ASP, ASP.NET, FrontPage Server Extensions, SQL server, a další. Dokumentaci k serveru IIS najdeme na stránkách společnosti Microsoft.[9] Nginx Linuxový server Nginx naprogramoval ruský programátor Igor Sysoev a jeho vlastnostmi jsou vyšší rychlost a výkon a také malé nároky na paměť. Nginx je primárně určený jako proxy server, pokud jej chceme pouţít jako webový HTTP server, je nutné zvolit HTTP modul a další moduly (např. FastCGI modul pro provoz PHP aplikací) ještě před zkompilováním 27

28 kódu, protoţe Nginx neumoţňuje připojovat a odpojovat moduly po zkompilování zdrojového kódu.[8] 2.2 Přenos souborů na webový server Abychom mohli webovou aplikaci pouţívat přes internet s vyuţitím protokolu HTTP a sítě klient server, je nutné nejprve soubory aplikace přenést na webový server. K této činnosti je moţné vyuţít několika technologií FTP File Transfer Protocol (FTP) 7 je aplikační protokol určený pro přenos souborů mezi uzly sítě. Na počítači, který hostuje jednotlivé soubory, běţí software pro FTP server, na druhé straně je FTP klient, který k těmto souborům přistupuje, nahrává na server další nebo naopak stahuje soubory na svůj pevný disk. Jedná se o netransparentní přenos, to znamená, ţe uţivatel si plně uvědomuje rozdíl mezi místními a vzdálenými sloţkami a sám se stará o jejich přenos. FTP protokol vyuţívá pro připojení spojované, spolehlivé spojení pomocí TCP protokolu. V implementaci sady protokolů TCP/IP bývá FTP klient, ovládaný přes příkazovou řádku. Pokud pouţijeme tohoto jednoduchého FTP klienta, je moţné po přihlášení na FTP server pouţít příkazy dir pro výpis přístupných adresářů a souborů. Příkaz get stáhne příslušný soubor a příkazem put nahrajeme místní soubor na server. Lepší je vyuţít FTP klientů s grafickým rozhraním, které je přehledné a celou činnost velmi zjednoduší (např. Filezilla). FTP protokol jedním ze starých protokolů, který nemá přenos souborů nijak zabezpečen a pokud je vyţadován zabezpečený přenos souborů, obvykle se vyuţívá protokol SFTP.[7][11] PUT Metoda PUT je určena pro přenos souborů a umoţňuje ji protokol HTTP ve verzi 1.1. Klienti pouţívají PUT pro odeslání souboru na server zadáním URL, která označuje místo kam by měl server soubor uloţit. Webový server Apache tuto metodu standardně nepodporuje a je 7 Protokol RCF 959, 28

29 třeba doinstalovat modul mod_put. PUT je potencionálně riskantní metodou a správce serveru musí určit sloţky, do kterých je moţné takto ukládat soubory.[1] WebDAV WebDAV je systém pro vytváření dokumentů pro web a práci s jejich verzemi, známou jako systém Distributed Authoring and Versioning, zaloţený na sadě rozšíření HTTP 8 protokolu. Klientské aplikace podporující WebDAV, umoţňují tvorbu, editování a odstraňování obsahu z webových serverů. Aplikacemi, které umoţňují přístup k serverům přes WebDAV jsou např. kancelářské balíky Open Office, MS Office nebo editory HTML jako Macromedia Dreamweaver, a další. Jelikoţ se jedná o rozšíření HTTP protokolu, není řešeno ověřování uţivatelů a ochrana před neţádoucím přístupem. Je na správci serveru, aby tyto činnosti zajistil standardními metodami a správnou konfigurací webového serveru. Webové servery Apache i IIS systém WebDAV podporují.[1] 2.3 Databázové servery Databázové servery (databáze) jsou nedílnou součástí moderních aplikací. Vyuţívají se pro ukládání, třídění nebo vyhledávání dat v různých podobách. Výhodou databází je rychlost vyhledávání dat, integrita dat, řízení přístupu a také přístup k datům není omezen na jednoho uţivatele. Webové servery umoţňují komunikaci s databázemi mnoha společností (např. MySQL, PostgreSQL, Microsoft SQL Server, Oracle, atd.). Typově jsou nejvíce zastoupené relační nebo objektově relační databáze. Data v těchto databázích jsou uloţená ve vzájemně provázaných tabulkách, těmto tabulkám říkáme relace. Kaţdý řádek tabulky představuje jeden záznam. Databázový server MySQL, pouţitý v ukázkové aplikaci, je multiplatformní open source projekt společností Sun a Oracle. MySQL je vhodný pro menší aţ středně velké aplikace, proti konkurenčním projektům nedisponuje tak velkým mnoţstvím funkcí, ale je rychlejší ve zpracování SQL dotazů.[5] 8 Rozšíření HTTP protokolu specifikované v RFC 2518 a RFC

30 2.4 Skripty pro dynamické generování stránek Volání skriptů Skripty uloţené na webovém serveru slouţí k dynamickému generování kódu HTML. K volání těchto skriptů můţeme vyuţít několik metod, vţdy s pomocí URL adresy skriptu. Volání pomocí hypertextového odkazu, Volání pomocí formuláře (metody GET, POST), Přímím zadáním do adresního řádku prohlíţeče, Voláním pomocí jiného skriptu (JavaScript), Volání pomocí plánovače na základě běhu času. Podle způsobu volání skriptu se také liší předávání parametrů a dat ke zpracování.[12] Technologie pro vytváření serverových skriptů Technologií, které je moţné pouţít pro skriptování na straně serveru, je poměrně velké mnoţství, většina těchto technologií je platformě nezávislá a bude fungovat na jakémkoliv webovém serveru. Zde jsou uvedeny ty nejznámější a některé z nich dále popíši. Server Side Includes (SSI), CGI a FastCGI, SAPI moduly a filtry, Active Server Pages ASP, ASP.NET, PHP, Java servlety, Java Server Pages (JSP), Ruby on Rails, Python.[12] 30

31 CGI a FastCGI Common Gateway Interface (CGI) byla pravděpodobně jedna z prvních moţností, jak dynamicky generovat webové stránky, a je jednoduchým mechanismem, který umoţňuje webovému serveru spouštět programy. Výstupy těchto programů jsou opatřeny HTTP hlavičkami a odeslány klientovi. CGI je nezávislé na architektuře serveru i programovacím jazyce. Skripty mohou být programovány v některém z programovacích jazyků, které jsou CGI podporovány např. C/C++, Perl, Python, Pascal, PHP, ale i Cobol nebo Fortran atd. Skripty jsou v CGI zkompilovány a je tedy dosaţena vyšší rychlost zpracování poţadavku neţ u předkompilovaných nebo interpretovaných technologií. CGI izoluje procesy od samotného webového serveru, coţ zvyšuje bezpečnost serveru, naopak vzniká problém s přístupem k datům na serveru. Další nevýhodou je opakované zakládání procesu a tím zvyšující se nároky na výkon.[1] FastCGI FastCGI disponuje vyšší rychlostí zpracování. Skript po zavedení do paměti zde zůstává, dokud není odstraněn. Skripty FastCGI jsou spuštěny jako trvalé procesy a v nečinnosti čekají na signál o zpracování poţadavku. Odpadá tím vytváření nového procesu, naopak je potřeba lepší zpráva paměti. Komunikace mezi serverem a skriptem probíhá pomocí TCP/IP a je moţné provozovat skripty na jiném serveru, čímţ je moţné lépe rozloţit výkonové poţadavky.[1] ASP Active Server Pages (ASP) nebo Active Scripting je serverové aplikační rozhraní, alternativou k CGI, od společnosti Microsoft, podporované serverem IIS. ASP není programovací jazyk, ale API, které podporuje některé programovací jazyky s Active Scripting, které vkládáme do HTML kódu jako příkazy (např. JScript, VBScript, Perl, Python). Active Scripting přidává k těmto jazykům objekty pro HTTP komunikaci.[1][12] ASP.NET ASP.NET nemá s ASP mnoho společného kromě toho, ţe tvůrcem je společnost Microsoft. Jedná se o implementaci frameworku.net, ve kterém je moţné vyvíjet webové i desktopové 31

32 aplikace. Microsoft.NET Framework je softwarová komponenta, která je součástí operačních systémů Microsoft Windows. Komponenta poskytuje mnoţství funkcionalit, pouţívaných při programování a také spravuje spouštění programů v běhovém prostředí CLR 9. Knihovny tříd.net Framework dovolují tvůrcům programů vyuţívat jednotné rozhraní pro přístup k funkcím CLR. Skripty pro ASP.NET jsou předkompilovány do jazyka MSIL (obecně CIL 10 ), který je společný pro všechny technologie zaloţené na frameworku.net. MSIL kód je potom spouštěn v běhovém prostředí CLR. Výhodou tohoto řešení je moţnost, vybrat si programovací jazyk a ten následně zkompilovat do MSIL kódu. Výběr je moţný z řady programovacích jazyků (např. VB.NET, C++/CLI, C#, JScript, a další), které MSIL podporují. Nevýhodou můţe být vyuţití pouze na platformě společnosti Microsoft.[4][12] JAVA JAVA je platformě nezávislý objektově orientovaný programovací jazyk na rozhraní mezi kompilovanými a interpretovanými jazyky. Zdrojový kód je kompilován do CIL kódu, nazývaného bytecode a následně pomocí běhového prostředí JRE (Java Runtime Environment) a virtálního stroje interpretován. Java se na webových serverech vyskytuje ve dvou implementacích. Jednou moţností jsou servlety, jako odpověď na skripty CGI a druhou JSP (Java Server Pages), příkazy zapsané v HTML kódu. Obě varianty lze pouţít samostatně, nebo aby se doplňovaly.[2][4] Servlety Základní aplikací jazyka JAVA na webovém serveru jsou servlety. Zkompilovaný kód servletu běţí v prostředí nazývaném Servlet container, který je spuštěn při volání servletu. Výhodou je oddělené prostředí a rychlost při zpracování skriptu, servlet zůstává nějakou dobu v paměti. Servlet container umoţňuje na rozdíl od FastCGI přístup k adresářům webového serveru a uchovávat stavové informace v cookies nebo session. Jelikoţ je Servlet container součástí stejného procesu jako webový server, ten odpovídá za jeho spuštění, běh i ukončení. K volání servletů se pouţívá JSP kód. Mezi Servlet container patří např. Apache Tomcat, který můţe být samostatným serverem nebo doplňkem Apache nebo IIS.[2][4] 9 CLR (Common Language Runtime) je běhové prostředí frameworku.net. 10 CIL (Common Intermediate Language) objektově orientovaný jazyk interpretovaný virtuálním strojem. 32

33 JSP Java Server Pages jsou další moţností, jak vyuţít sílu programovacího jazyka Java, při dynamickém generování webových stránek. JSP kód je vkládán přímo do HTML kódu v podobě příkazů.[2][4] PHP HyperText Preprocesor (PHP) je interpretovaný platformě nezávislý programovací jazyk, vytvořený pro tvorbu dynamického obsahu webových stránek (původní název Personal Home Page Tools). PHP se postupně vyvinulo v silný a populární nástroj pro vývoj webu distrubuovaný jako open-source. Zdrojový kód PHP se vkládá přímo do HTML kódu ve formě příkazů. PHP má poměrně jednoduchou syntaxi, vycházející z programovacího jazyka C a Java. Skriptovací jádro jazyka PHP obsahuje analyzátor jazyka nazývaný Zend Engine od Zend Technologies Ltd. Toto jádro implementované ve verzi 4.0 výrazně zrychlilo práci PHP skriptů. Zend Engine je licencován pro PHP Group (vývojový tým PHP) k volnému uţití. Společnost Zend Technologies Ltd. poskytuje další podpůrné nástroje pro programátory aplikací v PHP, které jsou jiţ licencované. Patří mezi ně např. vývojové prostředí Zend Studio nebo Zend Encoder.[1] Webový server musí obsahovat modul pro zpracování PHP kódu a ten je pak spuštěn přímo v kontextu procesu webového serveru. Soubor s příponou.php je analyzován interpretem jazyka PHP a pokud obsahuje skript PHP (identifikovaný značkami 11 např. <?php..?>) interpret provede zadané instrukce a výsledek vrátí webovému serveru. Pokud není nalezena značka pro začátek PHP kódu, interpret vrátí zdrojový kód v nezměněné podobě. Programovací jazyk PHP nepatří mezi přísně typové programovací jazyky a proměnné není nutné předem deklarovat. PHP pozná podle obsahu proměnné o jaký datový typ proměnné se jedná. Dalším specifikem PHP jazyka je flexibilita proměnných ve tvaru polí. Pole se skládá z klíčů a k nim přiřazených hodnot. Klíčem mohou být čísla, jako v jiných jazycích, nebo řetězce. V PHP je také moţné pracovat s proměnou datového typu string jako s polem, jednotlivé znaky řetězce mají své klíče, kterými jsou čísla začínající nulou. 11 Existuje několik syntaxí zápisu pro začátek a konec PHP kódu, toto je jeden z nich. 33

34 Taková pole mohou vypadat například takto: $pole = array( Jan, Novák ); Pole vypíšeme příkazem print_r($pole): Array([0] => Jan [1] => Novák) Při vytváření pole můţeme nastavit hodnoty klíčů pole (indexy): $pole = array( jméno => Jan, příjmení => Novák ); Po zobrazení pole jsou vidět hodnoty klíčů, se kterými je moţné dále pracovat: Array([jméno] => Jan [příjmení] => Novák) Vloţením řetězce do jednoduché proměnné, získáme také jednoduché pole : $retezec = Jan Novák ; S tímto řetězcem je moţné v některých směrech pracovat jako s polem. Například pro nahrazení některého znaku vyuţijeme princip klíčů, které začínají nulou. Nahrazení prvního znaku: $retezec[0] = p ; Při zobrazení proměnné $retezec je vidět změna: pan Novák PHP obsahuje funkce a rozšíření, díky kterým je schopno komunikovat s řadou databázových serverů (např. MySQL, PostgreSQL, Oracle, atd). Obsáhlá dokumentace, poskytovaná komunitou na webových stránkách projektu PHP 12, popisuje stovky funkcí jazyka i s konkrétními příklady vyuţití a zkušenostmi ostatních vývojářů. Takový přístup, velmi zjednodušuje programování v jazyce PHP i začínajícím programátorům.[5] 12 webové sídlo projektu PHP. 34

35 2.5 Komplexní řešení XAMP XAMP (Apache MySQL PHP) je kompletním řešení webového serveru, které si svou jednoduchostí a snadnou instalací získalo hodně příznivců. Jednotlivé komponenty tohoto instalačního balíku se vyvíjejí samostatně, ale dohromady vytvářejí silný celek. Instalační balíky XAMP jsou pro Windows, Solaris i Mac OS. Obsahem tohoto řešení je webový server Apache, databáze MySQL, skriptovací jazyk PHP a řada dalších doplňků a modulů.[5] LAMP LAMP (Linux Apache MySQL PHP) jedná se také o kompletní řešení webového serveru (na bázi XAMP) a představuje softwarový balík pro vyuţití na operačních systémech Linux.[5] 35

36 3 Porovnání a zhodnocení možných řešení Technologie pro dynamickou tvorbu webových stránek je moţné porovnávat z mnoha hledisek. Zmíním zde pouze tři kritéria porovnávání. 1. Výkon aplikací. 2. Podpora prostředí při vývoji aplikací. 3. Náklady na pořízení a provoz technologie. 3.1 Výkon aplikací Obecně platí pravidlo, ţe aplikace vytvářené v kompilovaných programovacích jazycích dosahují lepších výkonnostních parametrů neţ aplikace v interpretovaných jazycích. Všechny popisované nebo zmiňované programovací jazyky, je více méně moţné vyuţít v aplikacích jako kompilované s pouţitím technologií, které jsou součástí prostředí těchto jazyků (běhová prostředí), nebo pomocí univerzálních prostředků (např. FastCGI). Dalším faktorem, majícím vliv na výkon aplikací, je konfigurace a výkon hardware v návaznosti na pouţitý operační systém. Například PHP aplikace, bude mít na stejném hardware s různými operačními systémy, různé rychlosti zpracování zdrojového kódu. Jelikoţ existuje velké mnoţství kombinací nastavení softwarových a hardwarových parametrů, nelze jednoznačně určit nejrychlejší a nejvýkonnější technologii.[3] 3.2 Podpora prostředí při vývoji aplikací Zdrojový kód aplikace je moţné zapisovat v jednoduchém textovém editoru a poté kompilovat nebo přímo spouštět v prostředí určeném pro běh aplikace. Lepší variantou a pro větší projekty naprosto nezbytnou variantou, je vytváření aplikace ve vývojovém prostředí, které je k tomu primárně určené. Vývojové prostředí disponuje nástroji pro správu projektů, ukládání verzí jednotlivých souborů, kontrolu syntaxe zdrojového kódu, automatické dokončování a návrhy moţných řešení, atd. Z těchto vývojových prostředí asi nejvíce vynikají 36

37 multiplatformní JAVA nástroje (např. Eclipse 13, NetBeans 14 ), které je moţné doplnit moduly pro podporu různých programovacích jazyků (např. PHP). Technologie.NET disponuje vlastním vývojovým nástrojem Visual Studio. Podpora programování aplikací z hlediska vývojových prostředí je dostupná pro většinu pouţívaných programovacích jazyků. Dalším důleţitým aspektem při výběru programovacího jazyka pro vytváření webových aplikací, je rozsah a dostupnost dokumentace. Mezi technologie s výborně zpracovanou a obsáhlou dokumentací patří ASP.NET a PHP.[3] 3.3 Náklady na pořízení a provoz technologie Uvedené technologie je moţné pouţívat bezplatně. Pokud se rozhodneme, pro technologie zaloţené na platformě společnosti Microsoft, vzrostou náklady minimálně o pořízení licence operačního systému této společnosti. Cena hardware, by se u aplikací, zaloţených na uvedených technologiích, které budou výkonově srovnatelné, neměla nijak zásadně lišit.[3] 13 vývojové prostředí vytvářené za podpory IBM open source prostředí české firmy NetBeans, určené pro vývoj aplikací. 37

38 4 Ukázková aplikace a její funkce 4.1 Popis aplikace MEETING SERVER Aplikaci byla vytvořena na platformě LAMP, která je jedním z moţných východisek pro dynamickou tvorbu webových stránek a tuto platformu jsem si vybral z důvodu otevřené licence všech komponent. Aplikace představuje řešení pro zapisování sportovních akcí, srazů nebo jiných aktivit skupiny přátel nebo spoluhráčů. Jeden ze skupiny musí být správcem skupiny, který zaloţí skupinu v aplikaci a bude vkládat a upravovat jednotlivé aktivity. Kaţdá vloţená aktivita musí mít své datum a čas konání. Mezi volitelné atributy aktivity patří její název, místo konání, textová poznámka, zda se bude aktivita pravidelně opakovat a také, zda má být aktivita členům skupiny připomenuta em a kdy má být tato zpráva odeslána. Správce ovládá celou skupinu, počet jejích členů i její aktivity Ovládání z pohledu správce skupiny Úvodní stránka aplikace MEETING SERVER obsahuje dva formuláře, jeden pro přihlášení do jiţ vytvořené skupiny a druhý pro zaloţení skupiny nové. Na obrázku 5 vidíme úvodní stranu aplikace. Obrázek 5: Úvodní strana aplikace, zdroj: autor 38

39 Nový uţivatel, který si chce zaloţit svou skupinu, vyuţije formulář pro zaloţení nové skupiny, do kterého zapíše název vytvářené skupiny a svůj . Pokud se jméno skupiny ani ještě v databázi nevyskytují, skupina je zaloţena v databázi. Novému správci je na , který zadal při vytváření skupiny, odesláno přístupové heslo, název jeho nové skupiny a odkaz pro aktivaci. Odkaz slouţí k ověření pravosti ové adresy a také zda má dotyčný přístup k této ové schránce. Tato funkce ověření je časově omezena, a pokud nedojde k aktivaci do stanovené doby, uţivatel i nově vytvořená skupina jsou z databáze odstraněny. Toto opatření zabraňuje zaplňování databáze neplatnými y a vyčerpávání názvů skupin, které musí být unikátní. Po provedení ověření, se jiţ můţe nový správce přihlásit přes přihlašovací formulář, do své skupiny a začít ji rozšiřovat zadáváním ových adres nových členů. Správce můţe také členy ze své skupiny vyřazovat. Na obrázku 6 je vidět způsob správy členů skupiny. Obrázek 6: Administrace skupiny, zdroj: autor Správce skupiny také vkládá aktivity skupiny. Přes odkaz nová aktivita správce vstoupí na stránku s formulářem pro zadání dat konkrétní jedné aktivity. Po zkontrolování zadaných údajů je aktivita uloţena do databáze. Správci je umoţněno údaje aktivit měnit nebo je celé odstraňovat. 39

40 4.1.2 Ovládání z pohledu člena skupiny Kaţdý člen skupiny, přizvaný správcem skupiny, má své přihlašovací heslo, které je automaticky generované a odeslané na jeho ovou adresu spolu s názvem skupiny. Údaji pro přihlášení do skupiny jsou heslo, ová adresa a název skupiny, do které se chce člen přihlásit. Kaţdý z členů můţe své heslo po prvním přihlášení změnit, stejně tak a nastavit své jméno ve skupině. Po přihlášení do skupiny, se členovi skupiny zobrazí stránka s názvem skupiny a aktivitami, které vloţil správce. Pod kaţdou aktivitou je vypsána celá skupina, kaţdý člen jednotlivě, a zda se aktivity zúčastní či ne. Součástí takto vypsaných aktivit je také formulář, přes který můţe přihlášený člen skupiny potvrdit svou účast nebo neúčast. Jestliţe správce nastavil rozesílání upozornění v určitém termínu před konáním aktivity, tak při uplynutí tohoto data se všem členům skupiny rozešlou y s upozorněním a se všemi údaji o konání aktivity. Tento obsahuje také odkaz pro odeslání odpovědi ano/ne pro účast resp. neúčast, aniţ by se dotyčný musel přihlašovat na stránku své skupiny. 4.2 Popis implementace Celý zdrojový kód aplikace zahrnuje celkem 23 souborů. Pro přehlednost je velká část kódu zapsána v uţivatelských funkcích, které jsou rozčleněny podle okruhů funkčnosti do šesti samostatných souborů. Soubory s funkcemi jsou pak do aplikace vkládány voláním funkce require_once, která zajistí, ţe v případě výpadku takto vkládaných souborů aplikace ohlásí chybové hlášení a ukončí svou činnost. Tabulka 1: Pomocné soubory s uţivatelskými funkcemi aplikace, zdroj: autor Soubor fce.php fce_db.php fce_db_akce.php fce_db_skup.php fce_db_user.php fce_form.php Popis Funkce, které nepřistupují k databázi. Funkce, které přistupují k db obecné. Funkce, které přistupují k db spojené s aktivitami. Funkce, které přistupují k db spojené se skupinou. Funkce, které přistupují k db spojené s uţivatelem. Formulářové funkce. 40

41 Dalšími pomocnými soubory jsou dva soubory, které běţí nad databází a kontrolují data konání a připomenutí aktivit a také zda nově zaregistrovaný uţivatel aktivoval svoji identitu pomocí odkazu v u. Oba skripty popíši později. Tabulka 2: Pomocné soubory s databázovými skripty, zdroj: autor Soubor db.php db_h.php pasw.php Popis Pomocný skript spouští se jednou denně. Pomocný skript spouští se jednou za hodinu. Údaje pro přístup k databázi. Zdrojový kód vlastní aplikace je zapsán ve třinácti souborech, které jsou volány přímo z adresního řádku klienta nebo skripty a formuláři v jiných souborech. Tabulka 3: Struktura zdrojového kódu aplikace, zdroj: autor Soubor admin_akce.php admin_skup.php index.php login.php logout.php new_akce.php over_new_heslo.php overit.php potvrdit_ucast.php skup.php update_user.php vytvor_skup.php zapomel_heslo.php Popis Změna údajů aktivity. Přidání a odebrání člena skupiny. Hlavní stránka aplikace. Přihlášení uţivatele. Odhlášení uţivatele. Vytvoření nové aktivity. Ověření hesla při změně. Aktivace identity nového uţivatele. Zpracování em odeslané odpovědi pro účast nebo neúčast. Zobrazuje aktivity a členy skupiny. Změna přihlašovacích údajů. Vytvoření nové skupiny. Zobrazuje formulář pro získání nového hesla za zapomenuté heslo a generuje heslo nové. Jeden samostatný soubor, důleţitý pro vzhled celé aplikace se jmenuje styl.css. Soubor kaskádových stylů a je vkládán přímo do hlavičky HTML kódu. Kaskádové styly slouţí k formátování HTML kódu a tento soubor tedy určuje, jak bude aplikace v klientovi vypadat. 4.3 Databáze aplikace MEETING SERVER Aplikace MEETING SERVER pracuje s relační databází MySQL. Programovací jazyk PHP obsahuje rozhraní pro komunikaci s databází mysqli a několik funkcí pro práci s tímto typem 41

42 databáze. Mezi důleţité patří funkce pro vytvoření spojení s databází mysqli_connect(), funkce která zajišťuje předání SQL příkazu databázi mysqli_query() a funkce, která spojení s databází MySQL ukončuje mysqli_close() Uspořádání relací v databázi Databáze SKUPINA obsahuje pět tabulek 15 ve formátu InnoDB, ve kterých je moţné zajistit pravidla integrity (pravidla cizího klíče) a transakční zpracování. Všechny sloupce s řetězci pouţívají znakovou sadu UTF8 a porovnávání UTF8_czech_ci. Na obrázku 7 je uspořádání tabulek databáze v diagramu tříd. Obrázek 7: Diagram tříd databáze Skupina, zdroj: autor Tabulka 4: Legenda k obrázku Obrázek 7, zdroj: autor Zkratka Popis table tabulka databáze view pohledy znázorňují SQL dotazy, pouţité v činnostech aplikace PK primární klíč tabulky PFK primární klíč tabulky tvořený cizím klíčem k jiné tabulce FK cizí klíč 15 Termín pouţívaný v běţné literatuře a také v jazyce SQL; jedná se o relaci v relačním databázovém modelu. 42

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Identifikátor materiálu: ICT-3-03

Identifikátor materiálu: ICT-3-03 Identifikátor materiálu: ICT-3-03 Předmět Téma sady Informační a komunikační technologie Téma materiálu TCP/IP Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí architekturu TCP/IP. Druh

Více

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2006/11/23 15:11:51 $ Obsah Úvod... 3 Co je to HTTP... 4 Základní model protokolu... 5 Struktura požadavku v HTTP 1.0 a

Více

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Internet celosvětová síť spojení jednotlivých síťí pomocí uzlů (síť

Více

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování Cílem tohoto tematického celku je poznat formát internet protokolu (IP) a pochopit základní principy jeho fungování včetně návazných

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

language="javascript">... </script>.

language=javascript>... </script>. WWW (World Wide Web) je dnes společně s elektronickou poštou nejvyužívanější službou internetu. URL (Uniform Resource Locator) slouží ke kompletní adresaci informace na internetu. Udává jak protokol, který

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

SSL Secure Sockets Layer

SSL Secure Sockets Layer SSL Secure Sockets Layer internetové aplikační protokoly jsou nezabezpečené SSL vkládá do architektury šifrující vrstvu aplikační (HTTP, IMAP,...) SSL transportní (TCP, UDP) síťová (IP) SSL poskytuje zabezpečenou

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům. Aplikační vrstva http-protokol, díky kterému je možné zobrazovat webové stránky. -Protokol dokáže přenášet jakékoliv soubory (stránky, obrázky, ) a používá se také k různým dalším službám na internetu

Více

Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes

Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes Užitečné odkazy: http://en.wikipedia.org/wiki/list_of_http_status_codes Metoda PUT protokolu HTTP slouží k dotazu na možnou komunikaci se serverem na konkrétní URL analýze způsobu připojení zjištění typu

Více

Server-side technologie pro webové aplikace

Server-side technologie pro webové aplikace Server-side technologie pro webové aplikace PIA 2011/2012 Téma 6 Copyright 2006 Přemysl Brada, Západočeská univerzita Server-side scriptování Cíl dynamické generování webového obsahu/rozhraní integrace

Více

HTTP protokol. Zpracoval : Petr Novotný

HTTP protokol. Zpracoval : Petr Novotný HTTP protokol Zpracoval : Petr Novotný novotny0@students.zcu.cz HTTP protokol - úvod zkratka z Hyper-Text Transfer Protocol možnost přenášet jakákoliv data (soubor, obrázek, výsledek dotazu) obvykle provozován

Více

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Přednáška 3. Opakovače,směrovače, mosty a síťové brány Přednáška 3 Opakovače,směrovače, mosty a síťové brány Server a Client Server je obecné označení pro proces nebo systém, který poskytuje nějakou službu. Služba je obvykle realizována některým aplikačním

Více

Úvod do informačních služeb Internetu

Úvod do informačních služeb Internetu Úvod do informačních služeb Internetu Rozdělení počítačových sítí Počítačové sítě se obecně rozdělují do základních typů podle toho, na jak velkém území spojují počítače a jaké spojovací prostředky k tomu

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

6. Transportní vrstva

6. Transportní vrstva 6. Transportní vrstva Studijní cíl Představíme si funkci transportní vrstvy. Podrobněji popíšeme protokoly TCP a UDP. Doba nutná k nastudování 3 hodiny Transportní vrstva Transportní vrstva odpovídá v

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták 25.4.2005 Obsah Úvod Vrstvy podle TCP/IP Požadavek / Odpověď Metody požadavku Hlavičky Kódy odpovědi Ukázka 25.4.2005 Pavel

Více

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča Analýza síťového provozu Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Komunikace na síti a internetu Ukázka nejčastějších protokolů na internetu Zachytávání

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Úvod strana 2 Vyučující Ing. Jiří Lýsek, Ph.D. Ing. Oldřich Faldík https://akela.mendelu.cz/~lysek/ https://akela.mendelu.cz/~xfaldik/wa/

Více

Datum vytvoření. Vytvořeno 18. října 2012. Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Datum vytvoření. Vytvořeno 18. října 2012. Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží Číslo projektu CZ.1.07/1.5.00/34.0394 Škola SOŠ a SOU Hustopeče, Masarykovo nám. 1 Autor Ing. Miriam Sedláčková Číslo VY_32_INOVACE_ICT.3.01 Název Teorie internetu- úvod Téma hodiny Teorie internetu Předmět

Více

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

Úvod do informatiky 5)

Úvod do informatiky 5) PŘEHLED PŘEDNÁŠKY Internet Protokol a služba Jmenná služba (DNS) URL adresa Elektronická pošta Přenos souborů (FTP) World Wide Web (WWW) Téměř zapomenuté služby 1 INTERNET 2 PROTOKOL A SLUŽBA Protokol

Více

Komunikace mezi uživateli: možnost posílání dat na velké vzdálenosti

Komunikace mezi uživateli: možnost posílání dat na velké vzdálenosti 1 očítačová síť Je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. 1.1 Důvody vytváření sítí Sdílení zdrojů: HW (hardwarové zdroje): V/V

Více

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model 1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model Protokoly určují pravidla, podle kterých se musí daná komunikační část chovat. Když budou dva počítače používat stejné komunikační

Více

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě projekt GML Brno Docens DUM č. 11 v sadě 36. Inf-12 Počítačové sítě Autor: Lukáš Rýdlo Datum: 06.05.2014 Ročník: 3AV, 3AF Anotace DUMu: WWW, HTML, HTTP, HTTPS, webhosting Materiály jsou určeny pro bezplatné

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Komunikační protokoly počítačů a počítačových sítí

Komunikační protokoly počítačů a počítačových sítí Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

Platební systém XPAY [www.xpay.cz]

Platební systém XPAY [www.xpay.cz] Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz HTTP protokol Zpracoval : Petr Novotný novotny0@students.zcu.cz HTTP protokol - úvod zkratka z Hyper-Text Transfer Protocol možnost přenášet jakákoliv data (soubor, obrázek, výsledek dotazu) obvykle provozován

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru BI-AWD Administrace Webového a Databázového serveru Virtualizace HTTP serveru Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/ Počítačové sítě II 18. World Wide Web, HTTP Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 Historie WWW World Wide Web v současnosti nejrozšířenější a nejpoužívanější služba Internetu

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005 Počítačové sítě II 17. WWW, HTTP Miroslav Spousta, 2005 1 Historie WWW World Wide Web v současnosti nejrozšířenější a nejpoužívanější služba Internetu nebylo tomu tak vždy (Gopher,...) vyvinut v roce 1989

Více

Uživatel počítačové sítě

Uživatel počítačové sítě Uživatel počítačové sítě Intenzivní kurz CBA Daniel Klimeš, Ivo Šnábl Program kurzu Úterý 8.3.2005 15.00 18.00 Teoretická část Středa 9.3.2005 15.00 19.00 Praktická práce s počítačem Úterý 15.3.2005 15.00

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Vlastnosti podporované transportním protokolem TCP:

Vlastnosti podporované transportním protokolem TCP: Transportní vrstva Transportní vrstva odpovídá v podstatě transportní vrstvě OSI, protože poskytuje mechanismus pro koncový přenos dat mezi dvěma stanicemi. Původně se proto tato vrstva označovala jako

Více

WWW technologie. HTTP protokol

WWW technologie. HTTP protokol WWW technologie HTTP protokol HTTP protokol Princip - klient server - klient zašle požadavek (request), obdrží odpověď (response). klient request server response Verze - HTTP protokol HTTP 0.9 HTTP 1.0

Více

Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady

Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady 1 Pracovní stanice modem Pracovní stanice Směrovač sítě Směrovač sítě Pracovní stanice Aplikační server Směrovač sítě 2 Soubor

Více

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky Fungování internetu je celosvětový systém navzájem propojených počítačových sítí ve kterých

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY Internet World Wide Web FTP, fulltext e-mail, IP adresa webový prohlížeč a vyhledávač CÍLE KAPITOLY Pochopit, co je Internet

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Obsah PODĚKOVÁNÍ...11

Obsah PODĚKOVÁNÍ...11 PODĚKOVÁNÍ..........................................11 ÚVOD.................................................13 Cíle knihy............................................. 13 Koncepce a přístup.....................................

Více

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Internet protokol, IP adresy, návaznost IP na nižší vrstvy Metodický list č. 1 Internet protokol, IP adresy, návaznost IP na nižší vrstvy Cílem tohoto tematického celku je poznat formát datagramů internet protokolu (IP) a pochopit základní principy jeho fungování

Více

3.17 Využívané síťové protokoly

3.17 Využívané síťové protokoly Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Cílová skupina Anotace Inovace výuky prostřednictvím šablon

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.) Hodinový rozpis kurzu Správce počítačové sítě (100 hod.) Předmět: Bezpečnost a ochrana zdraví při práci (1 v.h.) 1. VYUČOVACÍ HODINA BOZP Předmět: Základní pojmy a principy sítí (6 v.h.) 2. VYUČOVACÍ HODINA

Více

Identifikátor materiálu: ICT-3-10

Identifikátor materiálu: ICT-3-10 Identifikátor materiálu: ICT-3-10 Předmět Téma sady Informační a komunikační technologie Téma materiálu Doména a služby Internetu Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí služby

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA Common Object Request Broker Architecture FJFI ČVUT 9. 12. 2010 Osnova 1 2 3 4 5 Standard umožňující propojení aplikací psaných v různých jazycích a běžících na různých strojích a architekturách. Definuje

Více

Bezpečnost sí, na bázi IP

Bezpečnost sí, na bázi IP Bezpečnost sí, na bázi IP Intranet Vnitřní síť od Internetu izolována pomocí: filtrace, proxy a gateway, skrytých sí,, wrapperu, firewallu, za vyuţi, tunelu. Filtrace Filtrace Filtrace umožňuje oddělit

Více

Použití programu WinProxy

Použití programu WinProxy JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH PEDAGOGICKÁ FAKULTA KATEDRA INFORMATIKY Použití programu WinProxy pro připojení domácí sítě k internetu Semestrální práce z předmětu Lokální počítačové sítě

Více

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009

Compatibility List. GORDIC spol. s r. o. Verze 3.60.5 8.4.2009 Compatibility List Verze 3.60.5 8.4.2009 GORDIC spol. s r. o. Copyright 1993-2009 1 Obsah Obsah 1 2 3 4 5 6 7 8 9 3.1 3.2 Úvodní informace Podporované databázové systémy Klientské prostředí Tlustý klient...

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP ÚVOD Analýza sítě je jedním z prostředků potřebných ke sledování výkonu, údržbě a odstraňování závad v počítačových sítích. Většina dnešních sítí je založena na rodině protokolů

Více

Počítačové sítě Systém pro přenos souborů protokol FTP

Počítačové sítě Systém pro přenos souborů protokol FTP Počítačové sítě Systém pro přenos souborů protokol FTP Autorizovaný přístup do souborového systému hostitelského uzlu Informace o obsahu souborového systému hostitelského uzlu Obousměrný přenos kopií souborů

Více

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP. Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Jádro TCP/IP TCP/IP Jádro Pseudo terminal driver Uživatel u terminálu TCP spojení

Více

Principy fungování WWW serverů a browserů. Internetové publikování

Principy fungování WWW serverů a browserů. Internetové publikování Principy fungování WWW serverů a browserů Internetové publikování Historie WWW 50. léta Douglas Engelbert provázané dokumenty 1980 Ted Nelson projekt Xanadu 1989 CERN Ženeva - Tim Berners-Lee Program pro

Více

Analýza aplikačních protokolů

Analýza aplikačních protokolů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická PROJEKT Č. 4 Analýza aplikačních protokolů Vypracoval: V rámci předmětu: Jan HLÍDEK Komunikace v datových sítích (X32KDS) Měřeno: 28. 4. 2008

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Technická specifikace

Technická specifikace Informační systém pro vysoké a vyšší odborné školy Technická specifikace Obecný popis systému Technická specifikace Obecný popis systému Computer Aided Technologies, s.r.o. Tato příručka je součástí dokumentace

Více

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005 Počítačové sítě II 14. Transportní vrstva: TCP a UDP Miroslav Spousta, 2005 1 Transportní vrstva přítomná v ISO/OSI i TCP/IP zodpovědná za rozšíření vlastností, které požadují vyšší vrstvy (aplikační)

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013 Šifrování Autentizace ní slabiny 22. března 2013 Šifrování Autentizace ní slabiny Technologie Symetrické vs. asymetrické šifry (dnes kombinace) HTTPS Funguje nad HTTP Šifrování s pomocí SSL nebo TLS Šifrování

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí, 9. Sítě MS Windows MS Windows existoval ve 2 vývojových větvích 9x a NT, tyto později byly sloučeny. V současnosti existují aktuální verze Windows XP a Windows 2003 Server. (Očekává se vydání Windows Vista)

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

Základy počítačových sítí Model počítačové sítě, protokoly

Základy počítačových sítí Model počítačové sítě, protokoly Základy počítačových sítí Model počítačové sítě, protokoly Základy počítačových sítí Lekce Ing. Jiří ledvina, CSc Úvod - protokoly pravidla podle kterých síťové komponenty vzájemně komunikují představují

Více

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP Elektronická pošta Schéma e-pošty odesilatel UA disk SMTP fronta dopisů disk MTA SMTP MTA adresát UA disk POP IMAP poštovní schránka disk MTA SMTP UA (User Agent) rozhraní pro uživatele MTA (Message Transfer

Více

Po ukončení tohoto kurzu budete schopni:

Po ukončení tohoto kurzu budete schopni: PRÁCE S INTERNETEM A KOMUNIKACE Hana Rohrová, Roman Rohr Cíle kurzu Po ukončení tohoto kurzu budete schopni: porozumět základním pojmům spojeným s používáním Internetu, dodržovat bezpečnostní opatření

Více

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování Tvorba WWW stránek přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování HTML/XHTML kaskádové styly PHP spolupráce PHP s databázemi Technologie

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více