Správa webserveru Přednáška 2 Protokol HTTP. Obsah Protokol HTTP –Historie –Verze HTTP zpráva –Požadavek (request) –Response (response) Syntaxe HTTP zprávy.

Slides:



Advertisements
Podobné prezentace
SÍŤOVÉ PROTOKOLY.
Advertisements

Tvorba WWW stránek ÚVOD
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Mgr. Vlastislav Kučera přednáška č. 2.  Struktura stránky  hlavička  meta tagy  titulek stránky  připojení stylů,...  CSS.
Technologie pro publikování na webu 1 Ing. Jiří Štěpánek.
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é.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
CSS a HTML 5. HTML 5 HTML5 je nová verze specifikace značkovacího jazyka HTML, která přináší podstatné změny v technologiích webových stránek. HTML5 umožňuje.
HTTP server HTTP server 1 Jak to funguje?
Protokol HTTP (Hypertext Transfer Protocol)
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.
Přednáška č. 5 Proces návrhu databáze
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Návrh a tvorba WWW Cvičení 6
PHP – vkládání souborů a html 5
YMUSY1 Multimediální systémy 1 Cvičení 5 Formuláře a ovládací prvky.
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
SmartPhone start - Apple iPhone
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ý.
Informační systém základních registrů. Obsah Úvod Komunikace se základními registry Autentizace a autorizace Práce s údaji Funkcionalita v rámci Portálu.
Internetové technologie Informatika pro ekonomy II přednáška 8.
Počítačové sítě Architektura a protokoly
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
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
VY_32_INOVACE_4.3.IVT1.12/Oc Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jaroslav Ochodek CZ.1.07/1.5.00/ Tvorba webových.
RTSP Real Time Streaming Protocol
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
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Í.
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.
ISSS 2003, Hradec Králové1 Elektronická podatelna Mgr. Tomáš Lechner, Triada, spol. s r. o.
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.
Firewall.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
PHP Vytváření formuláře.
Realizační tým ICZ duben 2005
Základní složky systému globálního informačního systému WWW Jednoznačná globální identifikace WWW zdrojů (URL, URI, URN) Standardní jazyk pro vytváření.
INTERNET – struktura, fungování a přehled využití
URL v HTML URL - Unique Resource Locator Příklad:
Elektronická pošta Název školy
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.
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
1 Seminář 9 MAC adresa – fyzická adresa interface (rozhraní) Je zapsána v síťové kartě. Je identifikátor uzlu na spoji. MAC adresu v paketu čte switch.
Internet.
1 Protokol HTTP (Hypertext Transfer Protocol) HTTP je základem systému „World Wide Web“ (WWW) - Web … HTTP – jednoduchý protokol aplikační vrstvy, transport.
Internetové technologie Informatika pro ekonomy přednáška 7.
Mgr. Ludmila Urbášková CDV UP Olomouc Jak dostaneme MM ke studentům? Standardy HTTP, HTML (XHTML), CSS WYSIWYG editor nebo jiný editor (X)HTML Grafický.
Pokročilá ochrana informací Ladislav Šolc, Tomáš Kutěj Systems Engineers Microsoft, s.r.o.
INTERNET INFORMATIKA 5. TŘÍDA. Internet si volně můžeme vyložit jako sít, která vzájemně propojuje počítače po celém světě. Někdy se také internet označuje.
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
Stanice v síti učební texty pro deváté ročníky ZŠ.
Internetové technologie Informatika pro ekonomy přednáška 7.
Základní složky systému globálního informačního systému WWW
Unix a Internet 6. Webový server © Milan Keršlágerhttp:// Obsah: ● WWW, webový.
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á.
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ů.
 = jedná se o vzájemné propojení lokálních počítačových sítí pomocí vysokorychlostních datových spojů  vznikl spojením mnoha menších sítí  v každé.
1 Počítačové sítě II 18. World Wide Web, HTTP Miroslav Spousta, 2006,
Internet – pojmy, služby
WWW a HTML Základní pojmy Ivo Peterka.
Seminář 11 DHCP + HTTP + IPTABLES
Přihlášení uživatele do portálu
Internetové technologie
Počítačové sítě Systém pro přenos souborů – protokol FTP
Protokol HTTP (Hypertext Transfer Protocol)
Počítačové sítě Systém pro přenos souborů – protokol FTP
Transkript prezentace:

Správa webserveru Přednáška 2 Protokol HTTP

Obsah Protokol HTTP –Historie –Verze HTTP zpráva –Požadavek (request) –Response (response) Syntaxe HTTP zprávy –Metody protokolu –Stavové kódy –Hlavičky protokolu HTTP 0.9, 1.0, 1.1, – přehled, význam Formátovací specifikace HTTP MIME Autorizace prostřednictvím HTTP Omezení protokolu HTTP

Co je to protokol Protokol je sada pravidel dodržovaných mezi komunikujícími stranami, tak aby si strany navzájem rozuměly. Definuje typ a množství dat, náležitosti požadavku a odpovědi, …

Verze protokolu HTTP 0.9 –První verze protokolu HTTP z roku –Velice jednoduchý protokol, který nerozlišoval druh zasílaných dat. –Obsahoval pouze jednu metodu – GET HTTP 1.0 –Doplněn o HTTP hlavičky, přidány nové metody a rozšířen o standard MIME (Multipurpose Internet Mail Extension) HTTP 1.1 –Rozšířen o trvalé (persistentní) spojené – dokáže zpracovat více požadavků v rámci jednoho spojení –Podporuje virtuální hostitele s jednou IP-adresou –Využívání Cache

Princip komunikace –Protokol HTTP pracuje na principu „požadavek / odpověď“ –Klient zasílá požadavky webovému serveru, který na ně odpovídá. –Klient nejčastěji komunikuje prostřednictvím webového prohlížeče

HTTP zpráva –HTTP zprávy jsou bloky dat, které si zasílají aplikace komunikující HTTP protokolem –HTTP zpráva je uvozena meta-informacemi, které nám popisují obsah zprávy a další nepovinná data –HTTP zpráva je zasílána mezi klientem, proxy a serverem

HTTP zpráva Start line –požadavek (GET /index.html HTTP/1.1) –odpověď (HTTP/ OK) Headers –hlavičky (Date: Wed, 15 Nov :25:24 GMT) Body –tělo zprávy (category=nature&topic=animals)

Syntaxe HTTP zprávy Požadavek Odpověď GET / fakulty/ui/ HTTP/1.1 Host: Accept:* HTTP/ OK Content-Type: image/gif Content-Lenght: 4352

Metody HTTP Metoda určuje druh služby, kterou klient od serveru požaduje. Metoda se uvádí velkými písmeny. Server nemusí vždy všechny metody podporovat. Při dotazu nepodporovanou metodou pak vrací chybové hlášení. Metody –GET –HEAD –POST –OPTIONS –PUT –DELETE –TRACE

Metoda GET –Nejběžnější metoda –Používá se pro žádost o zaslání určitých dat

Metoda HEAD –Stejná jako metoda GET s rozdílem, že se omezuje pouze na zaslání hlavičky HTTP protokolu –Používá se pro: Zjištění typu požadovaného objektu (bez nutnosti získání dat) Ověření existence požadovaného objektu (viz stavový kód odpovědi) Testování, zdali byl objekt modifikován.

Metoda PUT –Slouží k zaslání a zapsání dat na server. –Data jsou zapsána na požadavkem specifikovanou URL. –Zapsání dat do souboru na server provádí přímo server nikoli externí aplikace

Metoda POST –Slouží k zaslání dat na server spolu s požadavkem. –Zasílaná data nejčastěji slouží jako vstupní data která jsou předána procesu, který je zpracuje.

Metoda TRACE –Slouží k analýze způsobu připojení –Požadavek k serveru může putovat skrz proxy, firewall, gateway a další aplikace - každý z nich má možnost modifikovat HTTP hlavičku –Metoda TRACE umožňuje klientovi vidět jak vypadá HTTP hlavička, když jeho požadavek příjme webový server.

Metoda DELETE –Slouží k požadavku na smazání určitého objektu na serveru, který je specifikován URL adresou.

Metoda OPTIONS –Slouží k dotazu na možnou komunikaci se serverem na konkrétní URL –Umožňuje klientovi určit možnosti a omezení spojené se zdroji a schopností serveru –Pokud dotaz na URL je ve tvaru *, pak se jedná o dotaz na server jako cele

Stavový kód –Stavový kód je číslo, ke kterému přísluší stavové hlášení, které je zasláno klientovi spolu s odpovědí. –Stavový kód vyjadřuje, do jaké míry se podařilo splnit klientův požadavek. Rozsahy stavových kódů: –100 – 199 Informační rozsah –200 – 299 Úspěšný klientský požadavek –300 – 399 Přesměrování –400 – 499 Nekompletní klientský požadavek –500 – 599Chyba serveru

Informační rozsah Stavový kódPopis 100 ContinueKlient může pokračovat v zasílání požadavku. 101 Switching Protocols Server je ochoten změnit aplikační protokol specifikovaný v hlavičce Upgrade request

Úspěšný požadavek Stavový kódPopis 200 OKOperace proběhla bez chyby, požadavek je úspěšně splněn. 201 CreatedVýsledkem požadavku je nově vytvořený objekt. 202 Accepted Byl přijat asynchronní požadavek. Požadavek byl správně akceptován, odpovídající činnost se však ještě zatím nemusela provést. 203 Non-Authoritative InformationMetainformace v hlavičce nepocházejí ze serveru 204 No Content Požadavek byl úspěšný, ale jeho výsledkem nejsou žádná data pro klienta. 205 Reset ContentKlient by měl resetovat momentálně otevřený dokument 206 Partial ContentServer provedl částečný požadavek GET

Přesměrování Stavový kódPopis 300 Multiple choises Požadovaný zdroj se dá získat z několika různých míst. V odpovědi se vrací seznam všech možností. 301 Moved Permanently Požadovaná adresa URL se trvale přesunula na novou adresu URL. Všechny další odkazy musí použít tuto novou URL. 302 Moved Temporarily Požadovaná adresa URL se dočasně přesunula na novou adresu URL. Všechny další odkazy mohou používat dosavadní URL. 303 See Order Požadovaný zdroj je umístěn na jiném místě označeném hlavičkou Location a aby jej klient mohl získat, měl by použít metodu GET 304 Not Modified Podmíněný požadavek byl správně zpracován, dokument však od udané doby nebyl modifikován.

Nekompletní požadavek Stavový kódPopis 400 Bad Request Server nerozumí požadavku, klient jej musí opravit a poslat znovu. 401 Unauthorized Jestliže byl původní požadavek klienta anonymní, musí být nyní autentizován. Pokud už požadavek byl autentizován, pak byl přistup odepřen. 403 ForbiddenServer nemůže požadavku vyhovět, autorizace nebyla úspěšná. 404 Not FoundServer nenašel zadanou adresu URL. 405 Method Not Allowed Použitá metoda není přípustná pro dosažení požadovaného objektu. 406 Not Acceptable Požadovaný objekt není k dispozici ve formátu podporovaném klientem. 408 Request TimeoutKlient nedokončil odesílání požadavku v časovém limitu. 410 GonePožadovaný objekt byl trvale odstraněn.

Chyba serveru Stavový kódPopis 500 Internal Server ErrorNa serveru došlo k neočekávané chybě. 501 Not ImplementedTento požadavek server nepodporuje. 502 Bad Gateway Proxy server nebo brána obdržely od dalšího serveru neplatnou odpověď. 503 Service Unavailable Server dočasně nemůže nebo nechce zpracovat požadavek. Většinou když je přetížený nebo se provádí údržba. 504 Gateway Time-OutBrána nebo proxy vypršely 505 HTTP Version Not SupportedServer nepodporuje verzi HTTP v daném požadavku.

Verze 0.9 MethodGeneralRequestEntityResponse GETNone

Verze 1.0 MethodGeneralRequestEntityResponse GETConnectionAcceptAllowLocation HEADDateAccept-charsetContent-encodingRetry-after POSTMIME-versionAccept-encodingContent-languageServer PUTPragmaAccept-languageContent-length WWW- Authenticate DELETEAuthorizationContent-type LINKFromExpires UNLINKIf-modified-sinceLast-modified RefererLink User-agentTitle URL

Verze 1.1 MethodGeneralRequestEntityResponse OPTIONSCache-controlAcceptAllowAccept-Ranges GETConnectionAccept-charsetContent-encodingAge HEADDateAccept-encodingContent-languageEtag POSTPragmaAccept-languageContent-lengthLocation PUTTrailerAuthorizationContent-locationProxy-authenticate DELETETransfer-encodingExpectContent-md5Retry-after TRACEUpgradeFromContent-rangeServer CONNECTViaHostContent-typeVary WarningIf-modified-sinceExpires WWW- Authenticate If-matchLast-modified If-none-match If-range If-unmodified-since Max-forwards Proxy-authorization Range Referer TE User-agent

General Headers Cache-control – slouží k řízení Cachovacích systémů (proxy, klient,..) no-cache, no-store, max-age=600, public, private, …. Connection – slouží k řízení spojení Connection: Keep-Alive Connection: Close Date – datum vygenerovaný HTTP zprávy Date: Tue, 21 May :34:56 GMT Pragma – základní metoda pro cachovani v HTTP 1.0 Pragma: no-cache Keep-Alive – slouží k nastavení doby trvalého spojení Keep-Alive: 300 Trailer – slouží k umístění časti hlavičky až za tělo zprávy Trailer: Date | … | Date Tue, 21 May :34:56

General Headers Transfer-Encoding – kódování Transfer-Encoding: chunked Upgrade – slouží k změně komunikačního protokolu Upgrade: TLS/1.0 Connection: Upgrade Via – slouží k identifikaci proxy Via: proxy.mojefirma.cz Warning – upozornění klienta na možné problémy s cachováním Warning: 110 proxy.mojefirma.cz "Response is stale"

Entity Headers Allow – slouží u požadavku PUT ke zjištění jakým způsobem bude serveru poskytnut zdroj a u odpovědi při stavovém kódu 405, které metody jsou povoleny Allow: GET, HEAD, POST Content-Encoding – říká, jaké kódování bylo pro obsah použito Accept-encoding: gzip Content-Language –říká, jaký je jazyk použit pro obsah Accept-language: en Content-Length – říká, jak je velký obsah Content-Length: 102 Content-Location – říká, jaký dokument byl použit Content-Location: index.html.cs Content-Range – používá se, pokud server vrací pouze část požadovaných dat Content-Range: /2468

Entity Headers Content-Type –říká, jakého typu je obsah zprávy Content-Type: text/html Expires – používá se k nastavení aktuálnosti obsahu Expires: Tue, 21 May :34:56 GMT Last-Modifies – datup poslední modifikace Last-Modified: Tue, 21 May :34:56 GMT

Formátovací specifikace –Ukončení řádky – CLRF(carriage return plus a line feed) -\r\n –Formátování hlavičky – Header-Name: value –Formát data – Tue, 21 May :34:56 GMT –Kódování URL – viz dále

Verze Space ( )60Less than sign (<) 33Exclamation (!)61Equals sign (=) 34Quotation marks (")62Greater than sign (>) 35Pound sign (#)63Question mark (?) 36Dollar sign ($)64At symbol 37Percent sign (%)91Left bracket ([) 38Ampersand (&)92Backslash (\) 39Apostrophe (')93Right bracket (]) 40Left parenthesis (()94Caret (^) 41Right parenthesis ())96Backtick (`) 43Plus sign (+)123Left brace ({) 44Comma (,)124Pipe (|) 47Slash (/)125Right brace (}) 58Colon (:)126Tilde (~) 59Semicolon (;)

MIME typy Multipurpose Internet Mail Extensions –*/* (povoluji všechny typy) –type /* (všechny subtypy konkrétního typu, např.“, image/* - všechny subtypy typu image) –type /subtype (konkrétní typ a subtyp, např.: image/png)

MIME typy Application binární data, aplikace,...(např.: application/vnd.ms-excel) Audio hlasová či zvuková data (např.: audio/mpeg) Image statický obrázek (např.: image/png) Message Zpráva (např.: message/http) Multipart kombinace více různých částí, ev. i různých typů, do jednoho celku příloh (např.: multipart/form-data) Text text používající různé znakové sady, formátovaný text, text ve formátu HTML apod. (např.: text/html) Video pohyblivé obrázky, videosekvence,... (např.: video/quicktime) Model (např.: model/vrml)

HTTP autorizace

Omezení HTTP Protokol HTTP je bez stavový, tedy protokol nedisponuje nativně prostředkem, který by umožňoval udržet relaci mezi klientem a serverem. Webové aplikace však často vyžadují stavovou informaci - např. nákupní košík Řešení –přenášení údajů v URL a skrytých polí formuláře –Cookies –session proměnné