Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Internetové technologie
Informatika pro ekonomy přednáška 7
2
Princip klient-server (služba WWW)
HW dotaz (URL) odpověď (HTML) WWW klient (např. Mozilla Firefox, Internet Explorer, Opera …) WWW server (např. Apache) uživatelská stanice server SW
3
Princip klient–server
Klient – zahajuje komunikaci, požaduje spojení Server – poskytuje odezvu klientovi Démon – program, který neustále běží na serveru a očekává výzvy, při zachycení spustí obsluhu Protokol – scénář komunikace mezi klientem a serverem, stanovuje pořadí předávání otázek a odpovědí, realizace prostřednictvím portu Port – identifikace služby ve formě čísla, které klient posílá serveru při zahájení komunikace
4
Nejznámější porty 20, 21 – přenos souborů protokolem FTP
23 – vzdálený přístup (nešifrovaný, TELNET) 22 – vzdálený přístup (šifrovaný, SSH) 25 – elektronická pošta (SMTP) 80 – služba WWW (HTTP) 110 – vzdálený přístup do schránky (POP3)
5
Protokol HTTP HyperText Transfer Protocol
Slouží pro přenos objektů libovolného typu (stránky, obrázky, ...) mezi webovým serverem a prohlížečem (klientem) Jednoduchý síťový protokol aplikační vrstvy, vlastní přenos dat zajišťuje protokol TCP Základní model: navázání spojení zaslání požadavku klientem zaslání odpovědi serverem uzavření spojení
6
Protokol HTTPS Zajišťuje šifrovanou komunikaci mezi klientem a serverem Slouží k přenosu informací, které nesmí být nikým odposlechnuty (číslo kreditní karty, heslo) Pro šifrování se používá kombinace asymetrické a symetrické šifry se 128bitovým klíčem SSL (Secure Socket Layer) – norma pro šifrovaný přenos vytvořená společností Netscape
7
Návratové kódy 1xx – informační, požadavek byl obdržen
2xx – úspěch, dotaz byl pochopen a akceptován 3xx – přesměrování, klient musí provést další akce, aby získal požadovaný dokument 4xx – chyba klienta, byl položen chybný dotaz nebo klient nemá oprávnění získat dokument požadovaný v dotazu (např. 401 = Unauthorized, = Forbidden, 404 = Not Found) 5xx – chyba na straně serveru, není schopen obsloužit požadavek (500 = Internal Server Error)
8
Omezení HTTP Protokol je bezstavový
Server nemá stálé spojení s klienty a nemůže je proto jednoznačně identifikovat Velké komplikace pro webové aplikace, které vyžadují stavovou informaci – např. nákupní košík Řešení je několik (různé možnosti): detekce IP, cookies, přenášení údajů v URL a skrytých polích formuláře
9
Dynamický × statický dokument
Statický dokument – vzhled je neměnný, uživatel si nemůže volit zobrazované informace Dynamický dokument – tvar a prezentované informace může uživatel ovlivnit svojí činností Dynamický dokument na straně klienta – vytvoření a modifikaci zajišťuje prohlížeč (klient) Dynamický dokument na straně serveru – vytvořen programem, který běží na vzdáleném stroji (různé technologie – vsuvky, PHP, CGI...) Generovaný dokument – vytvořen počítačem
10
Statické dokumenty WWW
Textový soubor obsahující značky v jazyce HTML Značky v jazyce HTML a) slovní (párové nebo nepárové), mohou mít parametry b) entity Vizuální podoba dokumentu – formátování pomocí kaskádových stylů (CSS) Způsob zápisu dokumentů v jazyce HTML je popsán ve velkém množství výukových materiálů (např. a mnoho dalších)
11
Vlastnosti dynamických dokumentů na straně serveru
Schopnost řešení složitých a rozsáhlých úloh, používání souborového systému a výkonu serveru Nízká závislost na klientovi (prohlížeči) a jeho schopnostech, klient pouze stránku zobrazuje Veškeré požadavky a data se včetně odpovědí přenášejí přes síťové spojení (protokol TCP) Nelze reagovat na události vzniklé u klienta (pohyb myši, stisk klávesy apod.) – to řeší dynamické dokumenty na straně klienta
12
Řešení dynamických dokumentů
Technologie PHP – (Pretty Human Pages, Rasmus Lerdorf), jazyk integrovaný do HTML ...<h1>Nadpis</h1> <? příkazy PHP... ?>... Modul serveru – například PHP, Perl. Rychlejší odezva Obslužný program na rozhraní CGI – možnost práce v libovolném jazyce, obecné, avšak někdy časově a výpočetně náročné
13
Obslužný program na rozhraní CGI – základní princip
URL + data data klient (prohlížeč) WWW server obslužný program HTML HTML data CGI rozhraní (Common Gateway Interface) – definice způsobu komunikace WWW serveru s obslužnou aplikací (programem)
14
Zpracování požadavku URL dynamického dokumentu na straně serveru se liší v datech, zapsaných za otazníkem Server podle rozšíření .cgi pozná, že se jedná o rozhraní CGI, a předá mu data z URL Obslužný program zpracuje data a na výstup pošle výsledný text (vygenerovaný dokument) Server WWW zašle vytvořený dokument klientovi, který ho zobrazí stejným způsobem jako statické dokumenty
15
Tvar dat předávaných v URL
Metoda předání dat (viz formuláře HTML) GET – data předána viditelně v URL POST – data předána skrytě v těle požadavku <form action=skript.cgi method=get> <input type=text name=prvni>…<br> <input type=text name=druhy>…<br> <input type=submit value=Odeslat> </form> …/skript.cgi?prvni=neco&druhy=neco
16
Kódování URL Mezera se v URL zobrazí jako + (někdy %20)
Znaky, které v URL něco znamenají, se kódují jako %cc, kde cc jsou dvě šestnáctkové číslice ordinálního čísla znaku. (Unicode %cc%cc) Příklady value=”Jan Kos” …skript.cgi?jmeno=Jan+Kos value=”Tomáš Hála” …skript.cgi?jmeno=Tom%E1%9A+H%E1la
17
Proměnné prostředí QUERY_STRING – obsahuje data předaná v URL
REQUEST_METHOD – metoda předání dat SERVER_NAME – IP adresa (jméno) serveru SERVER_PROTOCOL – jméno a verze protokolu SERVER_PORT – číslo portu hostitele CONTENT_TYPE – typ dotazovaných dat HTTP_USER_AGENT – prohlížeč REMOTE_ADDR – IP adresa klienta …a mnohé další (nejdůležitější jsou první dvě)
18
Předávání dat na rozhraní CGI
Vstup dat do obslužného programu – z proměnné QUERY_STRING v případě, že jsou data předávána metodou GET – ze standardního vstupu v případě, že jsou data předávána metodou POST Výstup dat z obslužného programu – výpis na standardní výstup
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.