Unix a Internet 6. Webový server © Milan Keršlágerhttp://www.pslib.cz/ke/slajdy Obsah: ● WWW, webový.

Slides:



Advertisements
Podobné prezentace
Webové rozhraní pro datové úložiště
Advertisements

Formuláře jsou důležitou součástí stránek, slouží:  k přihlašování k některým stránkám (eshopy, bakaláři, diskuze na webu apod.)  k odeslání údajů do.
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
HTTP server HTTP server 1 Jak to funguje?
SÍŤOVÉ SLUŽBY DNS SYSTÉM
Pavel Dvořák Gymnázium Velké Meziříčí Počítačové sítě – služba WWW Registrační číslo projektu: CZ.1.07/1.5.00/ Datum: Jazyk: čeština.
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
1IT T ŘI PILÍŘE WEBU Ing. Jiří Šilhán. T ŘI PILÍŘE WWW WWW využívá počítačovou architekturu Klient/server, uživatel musí mít nainstalován prohlížeč, který.
Elektronická pošta Elektronická pošta ( ) je obdobou běžné pošty a umožňuje přijímat a distribuovat dokumenty v textové podobě na jednu nebo více.
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Internet, WWW, HTML a spol.. Hlavní zásady inženýrství reprodukovatelnost měřitelnost a parametrizovatelnost přenositelnost typizace a standardizace dokumentace.
Návrh a tvorba WWW Přednáška 1
PHP – Základy programování
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Internet.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Protokoly a adresy na internetu
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Návrh a tvorba WWW Cvičení 4
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
European Computer Driving Licence Modul 7 – Služby informačních sítí Mendelova zemědělská a lesnická univerzita v Brně.
European Computer Driving Licence Modul 7 – Služby informačních sítí Mendelova zemědělská a lesnická univerzita v Brně.
11. SLUŽBY INTERNETU.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Internetový prohlížeč
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
Dynamické dokumenty na straně serveru Informatika pro ekonomy II přednáška 8.
WWW – hypertextový informační systém
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES SESSIONS. 2 COOKIES JEDNÁ SE O KRÁTKÉ TEXTOVÉ ŘETĚZCE, JEŽ SI MEZI SEBOU VYMĚŇUJÍ WEBOVÝ SERVER A WEBOVÝ KLIENT.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
WWW stránky – Úvod Mgr. Lenka Švancarová.
INTERNET – struktura, fungování a přehled využití
URL v HTML URL - Unique Resource Locator Příklad:
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
CZ.1.07/1.4.00/ VY_32_INOVACE_166_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Úvod do PHP IZI 228.
Shrnutí Chceme–li připojit PC k Internetu musíme: 1.Zadat adresu DNS serveru (začne pracovat převod IP adresa  symbolické jméno), prakticky začne fungovat.
1 Protokol HTTP (Hypertext Transfer Protocol) HTTP je základem systému „World Wide Web“ (WWW) - Web … HTTP – jednoduchý protokol aplikační vrstvy, transport.
Internet.
OPERAČNÍ SYSTÉMY.
INTERNET.
Internetové technologie Informatika pro ekonomy přednáška 7.
PHP Programy pro tvorbu WWW stránek - 01
Uživatel počítačové sítě
Jan Růžička, Leden /01/05 Proč pro prezentaci prostorových dat využívat nástrojů WWW Nízké náklady na vybavení klientského počítače Snadné zvýšení.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Internetové technologie Informatika pro ekonomy přednáška 7.
Základní složky systému globálního informačního systému WWW
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Elektronická pošta, zkráceně (zkráceně také mail) je způsob odesílání, doručování a přijímání zpráv přes elektronické komunikační systémy.
Jak fungují webové stránky Úvod do HTML (1). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická.
Tvorba WWW stránek. Hyperlink Odkaz, bývá označený jinou barvou a podtržený Odkaz, bývá označený jinou barvou a podtržený Reaguje na událost myši – Reaguje.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
Inf WWW – World Wide Web. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo.
Internet (služby Internetu, WWW) Služby Internetu WWW (World Wide Web) – dnes nejrozšířenější služba; spoustě lidí splývá s Internetem jako takovým WWW.
Číslo projektu CZ.1.07/1.5.00/ Kódování materiálu vy_32_INOVACE_inf3_web01 Označení materiálu web01_uvod.pptx Název školy Gymnázium Kladno Autor.
Anotace Materiál je určen pro 1. ročník studijního oboru M/01 PROVOZ A EKONOMIKA DOPRAVY, předmětu Informační a komunikační technologie, inovuje.
FTP-SSL FTP-SSL Martin Dušek Martin Fúsek Josef Vlček.
WWW a HTML Základní pojmy Ivo Peterka.
Internet – pojmy, služby
Unix a Internet 7. Webový server
WWW a HTML Základní pojmy Ivo Peterka.
Seminář 11 DHCP + HTTP + IPTABLES
Internetové technologie
Základní pojmy při používání Internetu
Protokol HTTP (Hypertext Transfer Protocol)
Číslo projektu OP VK Název projektu Moderní škola Název školy
Web Application Scanning
Transkript prezentace:

Unix a Internet 6. Webový server © Milan Keršlágerhttp:// Obsah: ● WWW, webový server, URI (URL+URN) ● HTTP, virtuální servery ● dynamické stránky, skriptování, CGI ● HTTPS, SNI, reverzní proxy

WWW server ● Tim Berners-Lee (1989) ● laboratoře CERN – návrh hypertextového systému ● 1990 – první klient a server ● klient WorldWideWeb, později nazván Nexus – zobrazuje stránky – používá tehdy nový HTTP protokol ● serverová část – CERN httpd – odešle na požadavek klientovi data ● nejprve se lavinovitě rozšířil Gopher ● od roku 1995 již WWW

WWW ● World Wide Web ● dnes označení pro službu – původně název prvního webového prohlížeče Nexus ● „celosvětová pavučina“ ● používá model klient-server – klient – používán uživatelem – server – dodává klientovi vyžádaná data – komunikace protokolem HTTP – dokumenty identifikovány pomocí URI

URI ● Uniform Resource Identifier ● jednoznačná identifikace dokumentu v Internetu ● skládá se z URL a URN ● URL (Uniform Resource Locator) – schéma a doménové jméno: – – ● URN (Uniform Resource Name) – cesta a další parametry: – /over/there/index.dtb?type=animal;name=narwhal#nose

HTTP ● Hypertext Transfer Protocol ● verze 0.9 (původní), 1.0 a 1.1 (aktuální RFC 2616) GET / Host: ● za GET je URN – cesta k souboru, název, parametry – vždy alespoň lomítko (hlavní stránka) – ukončení prázdným řádkem ● odpověď hlavička a vlastní data – pro popis obsahu dat využívá MIME

Metody HTTP ● způsoby získání odpovědi ● GET – běžné získání stránky, součástí jen hlavička – parametry součástí URN (omezení max. délkou) ● POST – součástí dotazu je i tělo, ve kterém mohou být data – data označena MIME typem (jako odpovědi) ● HEAD – jako GET, ale není odesláno tělo ● PUT, DELETE, TRACE – typicky nepodporováno

Nejnutnější komunikace GET / Host: HTTP/ OK Content-Type: text/html Obsah HTML stránky Dotaz klienta Odpověď serveru: 1) hlavička 2) tělo dokumentu Poznámka: horizontálním oddělovačem je prázdný řádek (Enter bez znaku)

Hlavička odpovědi ● každá položka má vlastní řádek ● některé definované položky ● HTTP/ OK ● Content-Type ● Date ● Server ● Cache-Control ● uživatelské položky ● začínají na X-

Aliasy ● vlastnost webového serveru ● normálně URN odpovídá adresářům u serveru ● alias umožňuje mapovat URN na odlišná umístění ● skrývá interní adresářovou strukturu u serveru ● výhodné pro „hezká“ URN – SEO optimalizace – orientace uživatele (kategorie zboží) ● umožňuje udělat z URN parametr – vyvolání zdání, že obsah jsou statické stránky – omezuje riziko manipulace s parametry URN

Přesměrování ● server přenese klienta na jiné URI ● v hlavičce je klientovi předáno nové URI ● HTTP/ Moved Permanently ● Location: ● klient přepíše sám sobě adresu v adresním řádku – „automatické přenesení na novou adresu“ ● různé důvody: – změna adresy, změna URN struktury atd. – též kódy 300, 302, 303, 307

Virtuální servery ● více webových serverů na 1 IP adrese ● potíž v tom, že v GET, POST je jen URN ● klient přeloží jméno na IP adresu – a webový server netuší, z jakého to bylo jména ● řeší HTTP 1.0 → má v požadavku položku Host: – webový server se tak dozví URL (doménové jméno) – dnes jsou virtuální servery běžné – proto nelze používat HTTP 0.9 ● každý virtuál má svoje vlastní nastavení – jiný kořenový adresář, logy, aliasy atd.

Statické stránky ● nejjednodušší obsah webového serveru ● stránka je na disku v souboru ● server stránku beze změny pošle klientovi ● snadné dosažení vysokého výkonu – omezením pouze rychlostí sítě a souborového systému ● pro snížení režie je podpora v jádře OS – sendfile() – webserver jako jaderný modul (TUX web server) ● vynechání kopírování dat z page cache do userspace ● nebezpečné → lighttpd

Dynamické stránky ● stránka generována podle požadavku klienta ● podle aktuálního obsahu databáze – titulní stránka internetových novin ● podle zadání klienta – požadavek předán jako URN, parametr v GET či POST ● server musí spustit nějaký program – předání parametrů programu skrze CGI rozhraní – výstup programu odeslán klientovi – dříve samostatné programy – dnes skriptovací jazyky

Webový formulář ● vytvářen prvky HTML jazyka ● prohlížeč zobrazí vstupní pole a tlačítko ● odeslání pomocí Enter nebo kliku na tlačítko – na serveru vyvolána stránka dle URL – vstup z formuláře předán metodou GET serveru ● nestavová záležitost

CGI ● Common Gateway Interface ● předání dat od klienta k programu u serveru – typicky z webového formuláře – pomocí proměnných prostředí (metoda GET) – jako standardní vstup (POST, PUT) ● program generuje výstup – výstup je webová stránka odeslaná klientovi ● problém vzniku nového programu – snadné přetížené webového serveru – FastCGI → program běží trvale

Skriptování na serveru ● využití skriptovacího jazyka ● výpočet se odehraje na straně serveru ● nevyžaduje kompilaci do binární podoby ● interpret však zdržuje (prodleva při startu) ● pohodlné pro vývojáře – většinu bezpečnostních děr způsobí vývojáři – typicky nedostatečná kontrola vstupů ● oblíbené vkládání skriptu do HTML stránky – PHP → multiplatformní – ASP → Microsoft Windows

PHP ● PHP: Hypertext Preprocesor ● skriptovací jazyk pro webové stránky (1995) ● interpret dostupný jako: – externí program (podobně jako Perl, Python, bash, …) – modul do serveru ● syntaxe převzata z Perlu (podobné C, JavaScriptu) PHP Test <?php echo 'Hello World'; ?>

Skriptování u klienta ● program uvnitř prohlížeče ● kód přepraven do klienta ze serveru ● kód je součástí webové stránky ● JavaScript – standardní součást webových prohlížečů – AJAX → implementace asynchronní komunikace ● Java, Flash, Silveright, … ● často bezpečnostní komplikace

HTTPS ● zabezpečené HTTP ● vřazena mezivrstva – SSL 1.0, 2.0, 3.0 ● starší verze nepovažovány za bezpečné – TLS 1.0, 1.1, 1.2 ● TLS je zpětně nekompatibilní nástupce SSL ● využití elektronického podpisu – protistrana může prokázat svoji identitu – obvykle ji prokazuje server, ale může i klient – přenos důvěry od certifikační autority na protistranu

SNI ● Server Name Indication ● problém virtuálních serverů a HTTPS ● server se prokazuje certifikátem – šifrování zahájeno ihned po navázání spojení – certifikát obsahuje jméno serveru ( – název serveru je však sdělen serveru později ● položka Host: v protokolu HTTP/1.0 ● SNI umožňuje sdělit jméno serveru dříve – tj. ještě před výměnou certifikátů – podpora ve všech prohlížečů, nyní i pro servery ● SNI je rozšíření TLS protokolu

Apache ● nejrozšířenější webový server (viz Netcraft) ● původně 1993 v NCSA (Illinoiská univerzita) – největším konkurentem je MS IIS ● Microsoft Internet Information Server ● ve znaku ptačí pero (indiánský symbol) – další význam „a patchy server“ (záplatovaný server) ● open source software ( Apache Software Foundation ) – vlastní OSS licence (Apache License 2.0) ● modulární struktura – mod_ssl, mod_php, mod_python, …

Reverzní proxy ● cache na straně serveru (mod_proxy, Squid,...) ● drží často poptávané stránky v paměti ● důležité pro dynamický obsah – reálně se generuje jen občas ● problémy s aktuálností – řešeny lépe, než cache v prohlížeči – webový server i rev. cache spravuje jeden správce ● i jiná využití – skrytí skutečného webového serveru – rozložení zátěže mezi více webových serverů – přidání SSL (seznam.cz), komprese obsahu apod.