~~NOCACHE~~ ~~REVEAL theme=dokuwiki&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&show_image_borders=0&horizontal_slide_level=2&enlarge_vertical_slide_headers=0&show_slide_details=1&open_in_new_window=1&size=1024x768~~ {{no-footer}} ====== 2. lekce - WWW stránky, webserver, komunikace server-client ====== ===== Komunikace client - server ===== ----> {{:spse:pm3:vyber_088.png?800|}} <---- ==== Architektura klient - server ==== * klient–vstupní bod do internetu: PC, notebook, mobil... * server–obsluhuje požadavky uživatele, zasílá požadované informace atd. * data a výpočetní výkon jsou distribuovány po síti * klient vyšle požadavek, server odpovídá ==== Typy klienta ==== * **tlustý klient** –obvykle rozsáhlá aplikace nebo softwarový balík * většina dat je umístěna lokálně * většina výpočetního výkonu je soustředěna na straně klienta * **tenký klient** –malá rychlá aplikace (např. browser) * většinu počítání nechává na serveru, zobrazuje pouze výsledky ==== TCP/IP (opakování) ==== ----> {{:spse:pm3:vyber_089.png?1200|}} <---- ==== IP adresa (opakování) ==== * Číslovaný seznam jednoznačně identifikuje zařízení v počítačové síti * **IPv4:** * doposud stále nejrozšířenější verze * adresou je 32bitové číslo zapisované po jednotlivých bajtech (celkem 4 294 967 296 možností) * např. 158.196.128.1 * **IPv6:** * nová verze řešící problémy s nedostatkem adres a bezpečností * adresou je 128bitové číslo zapisované jako osm skupin po čtyřech hexadecimálních číslicích * např. 2001:0718:1c01:0016:0214:22ff:fec9:0ca5 ==== DNS ==== * www.wikipedia.org < = > 91.198.174.192 * www.skolakrizik.cz < = > 81.31.35.118 * www.seznam.cz < = > 77.75.75.172 | 77.75.75.176 * [[http://www.root-servers.org/|Seznam kořenových serverů]] ----> {{:spse:pm3:pasted:20200915-181534.png?800}} <---- ===== Webserver ===== * Počítač, který je odpovědný za vyřizování požadavků HTTP od klientů (nejčastěji webových prohlížečů). Vyřízením požadavků se rozumí odeslání cíle specifikovaného URL (typicky webová stránka, ale též statický text, obrázek či jiný soubor). Webové stránky jsou obvykle dokumenty v jazyku HTML. * Počítačový program, který provádí činnosti popsané v předchozím bodě (daemon). * Apache * Nginx * IIS * ... ----> {{:spse:pm3:pasted:20200915-184410.png?800}} <---- ----> {{:spse:pm3:pasted:20200915-184514.png?800}} <---- ==== HTTP(S) ==== * protokol pro přenos stránek mezi webovým serverem a prohlížečem * protokol funguje způsobem dotaz-odpověď * uživatel (pomocí internetového prohlížeče) pošle serveru dotaz ve formě holého textu, obsahujícího označení požadovaného dokumentu * server následně odpoví pomocí několika řádků textu, popisujících výsledek dotazu (zda se dokument podařilo najít nebo ne apod.) * hned potom následuje tělo požadovaného dokumentu ----> === HTTP Request === GET /hello.htm HTTP/1.1 User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT) Host: www.tutorialspoint.com Accept-Language: en-us Accept-Encoding: gzip, deflate Connection: Keep-Alive <---- ----> === HTTP response === HTTP/1.1 200 OK Date: Mon, 27 Jul 2009 12:28:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT Content-Length: 88 Content-Type: text/html Connection: Closed

Hello, World!

<---- ----> === HTTP Metody === * metoda GET /test/demo_form.php?name1=val1&name2=val2 * metoda POST POST /test/demo_form.php HTTP/1.1 Host: w3schools.com name1=value1&name2=value2 <---- ==== URL ==== * řetězec znaků identifikující abstraktní nebo fyzický zdroj * identifikuje zdroje na základě jejich síťové lokace * zjednodušený protokol://host/cesta * kompletní protokol://uzivatel:heslo@host:port/cesta?parametry#odkaz ===== www stránky ===== ** WorldWideWeb ** * provázaná síť dokumentů na Internetu: * statické dokumenty (zobrazeny bez změny vždy stejně). * dynamické dokumenty (vytváří se podle určených parametrů a požadavků uživatele) * [[https://www.internetlivestats.com/|Internet Live Stats]] ==== Vrstvy webové stránky ==== * Struktura * (X)HTML * Prezentační vrstva * CSS * Vrstva chování * klientské skriptovací jazyky * JavaScript * serverové skriptovací jazyky * PHP * JAVA * Python * ... ==== Internetové prohlížeče ==== * Google Chrome * Safari * Mozilla Firefox * Samsung Internet * Edge Legancy * [[https://gs.statcounter.com/browser-market-share/desktop-mobile-tablet/worldwide|Používanost internetových prohlížečů]] === Zdroje === * https://www.tutorialspoint.com/http * https://geoinformatika-1.vsb.cz/zi/prednasky/05_site.pdf