WWW a jeho možnosti

-jazyk HTML, protokol HTTP, proxy, CGI, formuláře, skriptovací jazyk PHP, dynamické stránky, propojení s SQL databázemi

Abychom mohli porozumět, jak pracuje HTTP a HTML, je nutné vysvětlit, jak vypadá komunikace na WWW (World Wide Web). WWW pracuje na modelu klient-server, viz. obrázek.


URL(Uniform Resource Locator)
-vypadá takto: :
-schéma určuje službu, jejíž prostřednictvím lze informaci získat (ftp, http, telnet, …)
-specifická část má takovýto tvar: :@:/
-ne všechny části jsou povinné, závisí to na použitém schématu

protokol HTTP (HyperText Transfer Protocol)
-jednou z hlavních vlastností HTTP je, že je bezstavový (=každý požadavek posuzuje zvlášť bez ohledu na předchozí akce), címž odpadá řada problémů, ale některé další se objevují
-definice umístění dokumentu na internetu se provádí pomocí URL v tomto tvaru:
http://:/?
-počítač je specifikované doménové jméno nebo IP adresa počítače
-port je pro http implicitně 80, ale může být nastaven i jinak
-cesta určuje lokaci dokumentu v rámci daného serveru, pokud chybí, dostanete zpravidla domácí stránku serveru
-hledaný text byl původně zamýšlen pouze na hledání zadaného textu, ale dnes má širší význam, pokud totiž URL neoznačuje statický dokument, předávají se jeho prostřednictvím parametry ovlivňující činnost programu, jenž požadovanou stránku vyrobí (např. PHP, CGI)
-standardní příponou pro www dokumenty je .html, ale servery pracující na různých verzích MS-Windows s krátkými (3znakovými) příponami užívaji příponu .htm, pro stránky, které server při odeslání upravuje mívají příponu .shtml
HTML (HyperText Markup Language)
- je to jazyk, ve kterém se tvoří statické (neměnné) internetové stránky
- obsahuje speciální příkazy označující různé části stránky (např. ), podle kterých klient zobrazující stránku pozná, že je má zvýraznit, podtrhnout apod
- stejná stránka zobrazená různým klientem nemusí vypadat stejně, záleží na konfiguraci!
- dají se v něm použivat i skripty (třeba CGI), takže stránky mohou být i dynamické, viz. dále

CGI(Common Gateway Interface)
-zvané též brány jsou programy, které jako výsledek své práce vytvoří HTML dokument
-může to být vpodstatě libovolný program, pokud splňuje 2 podmínky:
1) umí si brát informace tak, jak to definuje CGI
2) výsledkem činnosti je HTML dokument, který zašle na svůj standardní výstup
-hojně užívané programy k tomuto účelu jsou Perl, Unixový shell, C++, C, PHP
-transakce spuštění CGI skriptu vypadá takto:
1) Klient zašle dotaz, jehož URL ukazuje na některý CGI skript. Může předat i doplňující data, např. hledaný text
2) Server zjistí, že požadavek je třeba obsloužit externím programem, spustí ho a přes rozhraní CGI mu předí potřebné informace.
3) Skript proběhne, zpracuje data a na jejich základě vytvoří HTML dokument, který pomocí standardního výstupu předá serveru jako výsledek.
4) Server zašle klientovi výsledek práce CGI skriptu.
-jsou poměrně pomalé, protože pro každý požadavek se musí spouštět jeden proces


Proxy (neboli proxy cache)
-Je to server, který zastupuje jiný počítač (přesněji skupinu počítačů) vzhledem k WWW serveru.
-Vznikly kvůli přehlcení linek (jedna informace se přenášela na každý požadavek zvlášť, což je dost neekonomické)
-Pokud dostane proxy požadavek na určitou internetovou stránku, nejen že ji pošle žadateli, ale podle hlavičky HTTP rozpozná, zda si ji může uložit (dynamické většinou nemůže, u statických je v hlavičce doba, po kterou ji může mít uloženou) a učiní tak. Jakmile bude proxy požádán o stejnou stránku, nekontaktuje již WWW server, ale předá stránku, jenž má uloženu u sebe, takže zbytečně nezatěžuje linku.
-Samozřejmě pak nastává problém s možným stářím dokumentu, ale pokud dáte CTRL+reload, stránka bude vyžádána od WWW serveru a dostanete ji zaktualizovanou.
-Může pracovat jako Parent (rodič) nebo Sibling (sourozenec).
-Parent se ptá vždy zdoje (ať už je to další proxy nebo zdrojový server) o úroveň výš
-Siblingů je na stejné úrovni víc a při požadavku nejdříve prověří své sourozence, zda požadovaný dokument nemají a až při záporném zjištění hledají o úroveň výš.
-Plní i zabezpečovací funkci, protože jak pakety požadavků, tak odpovědí u něj svou cestu končí a proxy vytváří pakety nové, které posílá dále (významově jsou shodné)

Formuláře
-asi nejlepší způsob, jak získávat od uživatele data ke zpracování
-má vpodstatě 2 části:
1) HTML stránku, která je viditelnou částí a prostřednictvím vstupních polí zajišťuje informace. Obsahuje odkaz na CGI skript, který bude zadané informace zpracovávat.
2) CGI skript, který zpracuje informace z formuláře a odešle výslednou HTML stránku
-důležité je vědět, že komunikace přes protokol http je odposlechnutelná a data necestují v šifrované podobě, pro zašifrovanou komunikaci existuje jeho rozšíření HTTPS (HTTP Secured)

Skriptovací jazyk PHP
-jeho kód se zapisuje do HTML kódu stránky, ale je ohraničen dvojznaky .
-často se užívá ke zpracování zadaných dat z formulářů a k obsluze databází

Dynamické stránky
-jsou to jakékoli stránky, obsahující kromě HTML kódu ještě jinou část, např. PHP, CGI skript, atd.

propojení s SQL databázemi
-databáze je místo, kam se ukládají nejrůznější informace
-přístup k údajům v ní obsažených zajišťuje DBMS (DataBase Management System)
-mezi DBMS patří: Oracle, MS SQL server, Informix, PostgreSQL, MySQL a další
-Způsob komunikace s DBMS je podobný komunikaci s WWW-serverem. Nejčastěji je DBMS trvale spuštěn jako démon na Unixu nebo jako služba na Windows NT na určitém portu. Na tomto portu očekává požadavky ostatních aplikací a na ty pak odpovídá.
-Pro zadávání požadavků se nejvíce užívá jazyk SQL (Structured Query Language)
-V kombinaci s PHP skripty, ve kterých jsou příkazy SQL, lze zpřístupnit databáze přes Web.
- Různé SQL-servery mají různé protokoly. Klient by proto musel umět komunikovat více protokoly, což je nepraktické. Proto na platformách Windows vzniklo rozhraní ODBC. Je to prostředník mezi klientem a SQL-serverem, takže, takto komunikuje klient s rozhraním ODBC, jehož ovladač převede požadavek do tzv. nativního protokolu, jemuž rozumí všechny SQL servery, a po obdržení odpovědi ji předá klientovi. V současnosti je rozhraní ODBC implementováno i na většině verzích Unixu.
-většina užívaných DBMS užívá relační model dat (vychází z relační algebry, což je matematický aparát, na kterém relační model dat staví), u takových jsou data uspořádány do tabulek
Os. číslo Jméno Adresa Plat
1024 Omáčka Petr Na Příkopě 256 16384
1354 Novák Jan Lesnická 5 12150
1684 Kládové Alena Strážnická 16 13504
… … … …

-Příklad tabulky vidíte výše. Jméno, adresa, plat a osobní číslo jsou názvy atributů. Pod jménem je zvýrazněn sloupec neboli atribut. Zvýrazněná řádka se nazývá záznam.
-pro práci s informacemi v tabulce potřebujeme něco, čím vybereme potřebný záznam. Tím něčím je tzv. primární klíč. Ten musí být samozřejmě unikátní (žádné 2 záznamy nesmějí mít položku v atributu primárního klíče shodnou). V našem příkladu tabulky by to bylo osobní číslo.
-Databáze může obsahovat více tabulek, přičemž každá je identifikována svým názvem. Informace z různých tabulek spolu mohou souviset, mohou mezi sebou mít různé vztahy. V takovém případě se v tabulce související z jinou přidá jeden atribut (sloupec), tzv. cizí klíč, podle kterého se určí které záznamy spolu souvisí.
-Tabulka může mít více cizích klíčů, ale primární pouze jeden!

Vypracoval: Martin Novák, P4, SPŠSE Liberec

 

Maturita.cz - referát (verze pro snadný tisk)
http://www.maturita.cz/referaty/referat.asp?id=4273