Popište rozdíly HTTP/1.0 a 1.1 "Host" hlavicka pro name-based vhosty keepalive chunked encoding. (chce to malinko rozvést).

Podobné dokumenty
A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

BI-AWD. Administrace Webového a Databázového serveru Konfigurace webového serveru Apache httpd

Užitečné odkazy:

BI-AWD. Administrace Webového a Databázového serveru Rozšiřující moduly serveru Apache httpd

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

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

Instalace a konfigurace web serveru. WA1 Martin Klíma

BI-VWS. Vybrané partie z administrace Webového Serveru Autetizace, autorizace a kontrola přístupu Apache httpd

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

BI-VWS. Vybrané partie z administrace Webového Serveru Přesměrování (redirect/rewrite) uvnitř Apache httpd

BI-VWS. Vybrané partie z administrace Webového Serveru Kompilace a instalace a konfigurace webového serveru Apache httpd

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta,

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

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

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

HTTP protokol. Zpracoval : Petr Novotný

SSL Secure Sockets Layer

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Internet Information Services (IIS) 6.0

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

Nginx v roli web serveru

Střední odborná škola a Střední odborné učiliště, Hořovice

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

Instalační manuál aplikace

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

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

WWW technologie. HTTP protokol

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

BI-AWD. Administrace Webového a Databázového serveru Úvod do problematiky HTTP serveru

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

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

Administrace Unixu a sítí

Platební systém XPAY [

Hlavička dokumentu obsahuje metadata, která se vztahují k celému dokumentu. Definují např. název

Služba World Wide Web

Webový server lapache

Webový server Apache. Linuxový víkend. Linux is like a teepee, no Windows, no Gates, and Apache inside. Ondřej Čečák <ondrej.cecak@linuxsoft.

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

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

Internetové služby isenzor

Pojďme šifrovat! aneb ACME, továrna na certifikáty. Ondřej Caletka. 11. října 2015

Software pro vzdálenou laboratoř

HTTP: Hyper Text Transfer Protocol

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

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

Artlingua Translation API

HTTPS na virtuálních web serverech

Shibboleth v systému DSpace

Střední odborná škola a Střední odborné učiliště, Hořovice

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Tato zpráva informuje o implementaci LMS (Learning Management Systém) Moodle konkrétně Moodle

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

1 Webový server, instalace PHP a MySQL 13

mod_rewrite Martin Bartušek Petr Šťastný MFF UK, 2008

JSON API pro zjišťování cen MtG karet

Příručka pro potvrzování zůstatku vydavatelům karetních platebních prostředků

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

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

PHP a bezpečnost. nejen veřejná

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

Server-side technologie pro webové aplikace

HTTP server se separací práv

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

ISA seminární práce. Zadání č. 4 Konfigurace www serveru ISP

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

Ročníkový projekt DYNAMICKÉ HTML. Projektová dokumentace. Jan Ehrlich, Petr Marek, Tomáš Marván, Martin Paľo. Vedoucí projektu: RNDr.

Provádí ochranu sítě před napadením (ochrana počítačů nestačí) Odděluje uživatele (prvek nespolehlivosti) od prvků ochrany

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Instalace a konfigurace

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

Bezpečnost internetového bankovnictví, bankomaty

Nginx aneb jde to i bez Apache

OpenSSL a certifikáty

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx

Podpora šifrovaného spojení HTTPS

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

Střední odborná škola a Střední odborné učiliště, Hořovice

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

API pro volání služby kurzovního lístku KB

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Střední odborná škola a Střední odborné učiliště, Hořovice

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.

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

Maturitní projekt do IVT Pavel Doleček

Referenční rozhraní národního konektoru Národního kontaktního místa pro ehealth úloha pacientský souhrn

Secure Shell. X Window.

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

Úvod do Web Services

Zabezpečení web aplikací

Windows 2008 R2 - úvod. Lumír Návrat

1. Webový server, instalace PHP a MySQL 13

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Střední odborná škola a Střední odborné učiliště, Hořovice

Projekt JetConf REST API pro vzdálenou správu

RESTful API TAMZ 1. Cvičení 11

17. července :51 z moravec@yahoo.com

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

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

INFORMAČNÍ SYSTÉMY NA WEBU

Transkript:

Popište rozdíly HTTP/1.0 a 1.1 "Host" hlavicka pro name-based vhosty keepalive chunked encoding. (chce to malinko rozvést). Struktura HTTP pozadavku a odpovedi Požadavek: Method RequestUri HTTPVersion CRLF [Header CRLF]* [CRLF body] Príklad: GET /index.html HTTP/1.1 Host: www.example.com Napište trídy stavových kódu protokolu HTTP. 1xx infromation 2xx success 3xx redirection 4xx client error 5xx server error Co je URI a z ceho se skládá, uvedte schéma pri http. URI (celým názvem Uniform Resource Identifier jednotný identifikátor zdroje ) je retezec znaku s definovanou strukturou, který slouží k presné specifikaci zdroje informací (ve smyslu dokument nebo služba), hlavne za úcelem jejich použití pomocí pocítacové síte, zejména Internetu. protokol://subdomena.subdomena.domena.toplevel:port/cesta/k/souboru/nazev?parametr1=hodnota1&parametr2 =hodnota2 Co je name-based virtual hosting, jak funguje a proc nefunguje v HTTP/1.0 Name based webhosting umoznuje beh více virtuálních hostu na jedné IP adrese. V HTTP 1.1 prohlížec posílá hlavicku Host, ve které je zadána jakou URL uživatel zadal. Podle DNS se požadavak pošle na server, který podle hlavicky Host rozhodne, který virtual host použije. V HTTP 1.0 není hlavicka Host, proto nefunguje. Popsat algoritmus pro IP-based virtual hosting Pozadavky se rozdeluji podle cilove IP adresy pozadavku. Pokud pro danou adresu neexistuje nakonfigurovany virtualhost, pouzije se virtualhost "_default_". Neexistuje-li ani ten, pouzije se globalni server config. Uvedte vztah mezi webspace a filesystémem. Filesystem je umisteni souboru v souborovem systemu operacniho systemu serveru. Webspace je system souboru, jak ho vidi klient - adresuje se pomoci URL. Webspace se konfiguraci serveru mapuje na filesystem. Co je to MPM a k cemu slouží? Multi Processing Modules - moduly pro soubežné zpracování požadavku slouží pro kontrolu vytvárení potomku (procesu a vlákan) k obsluze požadavku na urcených portech. Existují druhy: Unix prefork - obsluha pomocí procesu worker - obsluha pomocí vláken (v procesech) další platform-specific mpm Co je a jak funguje MPM Prefork modul Tento modul používá pro obsluhu požadavku procesy. Na zacátku vytvorí hlavní proces StartServers obslužných procesu, které cekají na požadavky. V prubehu cinnosti serveru jejich pocet server upravuje tak, aby pocet cekajících procesu ležel mezi hodnotami MinSpareServers a MaxSpareServers. Maximální pocet soucasne

bežících procesu udává hodnota MaxClients. Procesy beží maximálne tak dlouho, dokud neobslouží MaxRequestsPerChild požadavku. Popište vlastnosti souboru.htaccess. Jaké jsou jejich výhody a nevýhody. Upravují volby povolené pres AllowOverride v konfiguraci. Usnadnují konfiguraci prímo v adresárích.nacítají se pri každém dotazu. Když je nastaveno Order allow, deny uvedte, jestli bude prístup odepren nebo povolen, když je shoda jen allow - Povolen jen deny- Zakázán oba - Zakázán žádný- Zakázán Bude prístup odepren ci povolen v prípade, že je Order Deny,Allow a nastane shoda: jen allow - Povolen jen deny- Zakázán oba - Povolen žádný- Povolen Uvedte algoritmus výberu hostitele v prípade, že je použit zároven IP a name basedvirtual hosting. prava pristupu.. byla tabulka kdo se kam snazi prihlasit a konfigurace nejak takhle: Location adresar basic autorizace restriction valid-user order deny,allow allow *.mycorp.k328 match any Location podadresar match all restrict user admin nekdo v tabulce byly snad vsechny moznosti z adresar/podadresar, prihlasen/neprihlasen, z povolene domeny/z nepovolene domeny

K cemu slouží konfiguracní sekce(kontejnery), jaké existují a v cem se liší? Kontejnery umožnují podmínenou konfiguraci a omezení platnosti direktiv. Existují dva druhy podle zpusobu vyhodnocování: pri startu serveru - <IfDefine>, <IfModule> a <IfVersion> pri požadavku na zdroj - <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>, <VirtualHost>, <Proxy>,... Co je to handler (napr. u SetHandler) a jak je typickyimplementován. Handler je funkce nejakého modulu, která zpracovává nekterý soubor. Nastavuje se bud pro všechny soubory v nejakém adresári (SetHandler nazev) nebo pro všechny soubory s danou príponou daného serveru/vhosta (AddHandler nazev pripona). Je tedy typicky implementován jako funkce v modulu serveru. Vysvetlit HTTP Basic Authentication Pozadavek neautorizovaneho navstevnika je odmitnut s "401 Authorization required". Klient posle vhlavicce v plaintextu (kodovanym base64) uzivatelske jmeno a heslo. Pokud odpovida, zobrazi se mu pozadovana stranka. Pokud ne, je odmitnut s "403 Forbidden" (nebo teda muze dostat dalsi vyzvu). K cemu jsou a jak fungují type maps. Type Map je soubor (obvykle s príponou var), ve kterém je uloženo jak postupovat pri vyjednávání obsahu. Pokud je napr. zavolana stranka index.html, ktera neexistuje a existuje soubor index.var, bude se postupovatpodle nej. Zde je ulozeno pri jakem jazyku, content-type atd. se zavola jaka jina stranka. Popište jak server vyhodnocuje prepisu URL pomoci mod_rewrite Viz minulá otázka plus: mod_rewrite provádí dva druhy náhrad. První hned po prijetí požadavku - to pokud je RewriteRule v konfiguraci prímo serveru nebo virtual hosta. Pokud je ale RewriteRule v.htaccess souboru, náhrada se posílá až v pozdejší fázi - když je puvodní URL pretransformována na cestu ve filesystemu. Pokud je v souboru RewriteRule, provede se substituce a je znovu zavolána nová URL (interne). To zpomaluje beh serveru. Pro požadavek http://www.example.org/old se aplikuje rewrite "RewriteRule /old(.*) /new$1 [R]", co se stane a jakymi dalsimi metodami toto jde zaridit? Provede HTTP redirect na adresu http://www.example.org/new. Lze pres "RedirectMatch /old(.*) /new$1". Take pres nejakou server-side aplikaci. Vysvetlit princip fungování suexec SuEXEC umoznuje spoustet CGI aplikace pod uzivatelem a skupinou ktera je vlastni, namistouzivatele/skupiny pod kterou bezi webserveru. Funguje tak, ze webserver namisto CGI aplikace poustisuexec wrapper, ktery je nastaven SUID root (tedy bude bezet jako root, nezavisle na tom kdo ho spustil),a preda mu v ramci parametru cestu k CGI aplikaci. SuEXEC wrapper udela hafomoc bezpecnostnichkontrol a pak, projdou-li, spusti tu aplikaci pod uzivatelem a skupinou ktera jej vlastni. Napište alespon tri body kontrolního algoritmu SUEXEC cgi script nevlastní root a nikdo jiný krom uživatele do nej nemuže zapisovat nikdo jiný nemuže zapisovat ani do nadrazeného adresáre uživatel splnuje požadavake na mininální uid zvolené pri kompilaci cgi script nesmí mít nastaven suid nebo sgid bit cgi script musí existovat a být citelný Podrobne popište forward proxy Dopredný proxy server je umísten mezi uživateli a vzdálenými servery. Více požadavku na stejný zdroj muže být obslouženo z cache (vyšší rychlost). Uživatelé musí mít pro používání proxy serveru správne nastavené aplikace. Všechen provoz jde zkrz proxy server, proto je možné i rízení prístupu a minitorování dat.

Vysvetlit princip fungování reverzni proxy Reverzni proxy funguje na strane poskytovatele obsahu (= webserveru). Funguje tak, ze ji dorazi HTTP pozadavek, ona si ho precte, zpracuje a preposle na nektery z webserveru co sedi za ni. O nicem z tohohle nema klient poneti. Reverzni proxy umoznuje loadbalancing, cachovani, SSLko, komprimaci dat atd. Vyhodou je moznost hodne jemny konfigurace (podle hlavicek pozadavku atd.) oproti loadbalancingu na nizsich vrstvach OSI a spousta peknejch featur, nevyhodou je pak o dost vetsi narocnost (vzit celej pozadavek, precist ho, zpracovat, upravit a poslat na dalsi stroj je narocna cinnost). Výhody a nevýhody implementace vlastního modulu Moduly pro https se píší v jazyce C. Existují ale moduly, které zprístupnují metody apache pres API dalším jazykum. Moduly tedy lze psát v témer libovolném jazyce. Hlavní nevýhoda prímého prístupu k apachím promenným je v tom, že snadno mužeme podelat celý server :) Problematické je také ladení. Psát vlastní moduly se tedy vyplatí pouze v prípade, že vyžadujeme co nejrychlejší zpracování na strane serveru. Co je to AP, APR? AP je Apache High-level function, funkce vysokoúrovnového API Apache. Zacínají "ap_" APR je Apache Portable Runtime, API nezávislé na operacním systému. Funkce zacínají na "apr_" Výhody a nevýhody u php jako modul, CGI a CLI. PHP jako modul je nejpoužívanejší možnost, slouží k dynamickému generování webového obsahu. PHP jako CGI umožnuje psát CGI-BIN skripty v syntaxi PHP. Slouží rovnež ke generování webového obsahu. PHP jako CLI umožnuje psát shellové skripty pomocí PHP. Výstup ale není primárne pro web, tzn. Nemusí být na prvním rádku Content-type atd. Skript muže pracovat se standartním vstupem, výstupem a err výstupem. Na rozdíl od CGI muže zpracovávat parametry z príkazové rádky. Nicméne pro psaní shellových skriptu se PHP kvuli rychlosti moc nehodí. Jaký je nejjednodušší výstup CGI scriptu? Content-type: <mime-typ><crlf><crlf> Popsat obecne syntax SSI <!--#element argument="value" argument2="othervalue"... --> Argumenty jsou oddeleny whitespacem a mohou byt v uvozovkach. K cemu sou filtry a jaký sou jejich typy Vstupni a vystupni. Umoznuji upravovat data, jako napr. pridavat neco pred ne ci za ne, menit velikost pismen, komprimovat jej, zpracovavat SSI apod. Jak zpracovává požadavek FastCGI Ve FastCGI životní cyklus procesu nekoncí s ukoncením obsluhy požadavku, ale proces je recyklován aznovupoužit pro obsluhu dalších požadavku. FastCGI aplikace mohou být jedno- i více-vláknové!webserver (FastCGI process manager) vytvorí procesy aplikace, aby mohl obsluhovat požadavky. pri startu serveru - statické aplikace, pri príchodu požadavku - dynamické aplikace. 1. FastCGI aplikace provede inicializaci a ceká 2. na požadavky - spojení - od webserveru. Pri príchodu požadavku na webserver je vytvoreno spojení s FastCGI procesem a jsou mu odeslány potrebné informace (ty z promenných prostredí). 3. 4. FastCGI proces pres stejné spojení odešle odpoved (standardní výstup a standardní chybový výstup). Uzavrením spojení mezi webserverem a FastCGI aplikací je obsluha kompletní. FastCGI proces ale nekoncí, ceká na další požadavky. 5.

Popište podrobne handshake SSLv3/TLSv1 1. dohoda o šifrách 2. vytvorení session 3. volitelne autentizace serveru a klienta Konkrétne: klient pošle úvodní zprávu Hello a seznam podporovaných šifrovacích algoritmu server pošle certifikát obsahující verejný klíc serveru, šifrovací algoritmus z klientského seznamu,který bude používatklient overí certifikát pomocí root certifikátu CA pomocí náhodných císel a šifry klient vygeneruje klíc pro symetrické šifry a zašifruje ji verejnýmklícem serveruserver si klíc rozšifruje svým privátním klícem a už vesele šifrovane komunikujíviz obrázek (http://www.yourdictionary.com/images/computer/ssl.gif) Dálší otázky: multiviews Popiste, jaky je rozdil mezi zpracovanim TCP komunikace na Apache httpd a nginx Popište jak webserver zpracovává požadavek