Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilIvo Müller
1
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í a publikaci WWW dokumentů – HTML (HyperText Markup Language) Komunikační protokol HTTP (HyperText Transfer Protocol) 1 Systém WWW
2
Identifikace WWW zdrojů URI – Uniform Resource Identifier – URL (Uniform Resource Locator) – lokalizace a vyhledání zdroje – URN (Uniform Resource Name) – identifikace zdroje 2
3
Protokol HTTP (Hypertext Transfer Protocol) HTTP je základem systému „World Wide Web“ (WWW) - Web … HTTP – jednoduchý protokol aplikační vrstvy, transport TCP, well-known port 80 Princip klient -- server Zprávy požadavek a odpověď jsou vyměňovány mezi klientem a serverem obdobně jako u transakcí SMTP HTTP odpovědi – původně textové dokumenty ve formátu HTML – nyní podpora MIME (odpovědi mohou obsahovat soubory i netextových formátů) 3
4
Protokol HTTP HTTP transakce Klient požaduje zaslání kopie souboru. Server požadavek akceptuje, kopii ve své odpovědi odesílá a klient přijatou kopii následně interpretuje. 4
5
Protokol HTTP (Hypertext Transfer Protocol) Formát a obsah HTTP zpráv je specifikován v RFC dokumentech Vývoj HTTP (současná verze HTTP/1.1 - RFC 2616) – Princip zpětné kompatibility – Vývoj http://www.w3.org/Protocolshttp://www.w3.org/Protocols Přínosy nové verze : – Vytváří trvalá spojení pro více požadavků klienta – Podporuje komprimaci a dekomprimaci dat – Možnost nastavení virtuálních serverů – Podpora bezpečných transakcí – …….. 5
6
Protokol HTTP (Hypertext Transfer Protocol) 6
7
HTTP transakci iniciuje klient, předává požadavek serveru 7
8
Protokol HTTP (Hypertext Transfer Protocol) 8
9
9 Ukázky HTTP dialogů HTTP request HTTP response
10
10 HTTP request HTTP response HTTP response body HTTP response headers
11
11 GET / HTTP/1.1 Host: www.lidovky.cz User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: cs,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate Cookie: personalizace=lastdatum=17%2E3%2E2013&setver=full; __utma=1.1457354403.1352532032.1383996949.1384599984.62; bbnaut=4e407415a3a075d3; __atuvc=1%7C12; __gfp_64b=iJDAsLPVoteWp97NP63z8Bbox7OVK3eZLkMT2J0o7yT.j7; speed=237; ibbid=BBID-01-00409371430960000 Connection: keep-alive HTTP/1.1 200 OK Cache-Control: private,max-age=0 Content-Type: text/html; charset=windows-1250 Content-Encoding: gzip Expires: Wed, 01 Jan 1997 12:00:00 GMT Vary: Accept-Encoding Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319 X-Powered-By: iDNES iweb50 Date: Sat, 23 Nov 2013 07:44:58 GMT Connection: close Content-Length: 28047.............`.I.%&/m.{.J.J..t...`.$..@.........iG#).*..eVe]f.@......{....{....;.N'...?\fd.l..J...!....?~|.?"...O.....:.>....- &e.Q:..m.l?.....|v..t.......Vm.^...>j.w.....3......N.........r..+n.....^O..m....]y......l.K.1...;L...n....b9.......;.p.Z6....RW..nYm.W...l......D.t;...../.....jQ]fi.. HTTP request HTTP response HTTP response body HTTP response headers
12
12
13
Protokol HTTP (Hypertext Transfer Protocol) Popis zpráv HTTP Verze protokolu – HTTP/1.1 nebo HTTP/1.0 Request: Metoda – požadavek (1) – GET – žádá zaslání celé entity specifikované v URI – HEAD – žádá zaslání záhlaví entity specifikované v URI – POST – odesílá obsah zprávy do entity specifikované v URI Odeslání poštovní zprávy do sdílené schránky Odeslání dat zapsaných do formuláře Připojení dat do databáze …….. 13
14
Protokol HTTP (Hypertext Transfer Protocol) Metoda – požadavek (2 ) – PUT – vkládá obsah zprávy do entity specifikované v URI (tj. nahrává nová data do serveru) – DELETE – žádá o výmaz entity specifikované v URI – Požadavky na správu transakce OPTION – Žádost o informaci o podmínkách transakce TRACE – Odešle kopii obdrženého požadavku zpět odesílateli, takže klient může zjistit, co na požadavku mění nebo přidávají servery, kterými požadavek prochází. CONNECT – Spojí se s uvedeným objektem přes určený port. Používá se při průchodu skrze proxy pro ustanovení kanálu PATCH – Provede změny ve zdroji (rozdílový dokument) 14
15
URI – (Uniform Resource Identifier) - identifikátor přístupu k internetovému zdroji (obecný) Formát URI schema - síťový protokol aplikační vrstvy (služba) např.: http, ftp, telnet, mailto, nntp, news, file URL (Uniform Resource Locator) – typ URI – formát pro protokol HTTP: Protokol HTTP (Hypertext Transfer Protocol) 15 :// : @ : / /….. http: // [: ][ [? ] ]
16
Složky URL Hierarchická složka - cesta k objektu ( protokol pro přístup k objektu – doménové jméno hostitelského systému – port – cesta k objektu na hostitelském systému ) Nehierarchická složka (volitelné položky) – query – uvedené hodnoty jsou předány ke zpracování webovým aplikacím (CGI programům) – fragment - odkaz na identifikátor (návěští), kterým je označena určitá část webového objektu Protokol HTTP (Hypertext Transfer Protocol) 16 hierarchickánehierarchická query string = & = & = & = ….
17
Protokol HTTP (Hypertext Transfer Protocol) CGI (Common Gateway Interface) Standard pro definice rozhraní mezi Web serverem a externími aplikačními programy CGI programy umožňují dynamickou interakci uživatele s WWW serverem (tvorba dynamických HTML stránek) Různé typy programů, které lze provozovat v daném systému (kde je spuštěný HTTP server): bash, C, Perl, Java, PHP, …. 17
18
Protokol HTTP (Hypertext Transfer Protocol) Proměnné, které jsou předávány http serveru a mohou být zpracovámy v CGI programech – REQUEST_METHOD určuje způsob předávání informací (GET nebo POST) – QUERY_STRING obsahuje data přenášená metodou GET (query_string) – CONTENT_TYPE MIME typ dat zasílaných metodou POST – CONTENT_LENGTH délka dat zasílaných metodou POST 18
19
Protokol HTTP (Hypertext Transfer Protocol) – REMOTE_ADDR IP-adresa počítače, z nějž přišel požadavek – REMOTE_HOST doménová adresa počítače, z nějž přišel požadavek – AUTH_TYPE způsob použité autorizace uživatele REMOTE_USER v případě, že byl uživatel autorizován, obsahuje tato proměnná jeho jméno 19
20
Protokol HTTP (Hypertext Transfer Protocol) URI schema https – https není samostatný protokol, ale HTTP interakce šifrovaná přes spojení SSL (Secure Sockets Layer) nebo TLS (Transport Layer Security) – Pokud není specifikováno v URL, používá https port 443 – Interakce klient – server vyžaduje autentizaci serveru (povinně) a autentizaci klienta (volitelně) 20
21
Protokol HTTP (Hypertext Transfer Protocol) Response: Stavový kód – tříciferný identifikátor typu odpovědi 100 – 199 – odpověď má charakter informace 200 – 299 - požadavek je úspěšně splněn 300 – 399 – informace o přemístění požadované entity 400 – 499 – chyba na straně klienta 500 – 599 –chyba na straně serveru 21
22
Příklady HTTP odpovědí Pozitivní odpovědi 200 – data odeslána202 - akceptováno 201 – vytvořeno204 – není obsah Informace 304 - nemodifikováno Chyba klienta 400 – Bad Request401 – Unauthorized 403 – Forbidden404 – Not found Chyba serveru 500 – Internal server error 501 - Not implemented 502- Bad gateway503 – Service unavailable 22 Protokol HTTP (Hypertext Transfer Protocol)
23
Záhlaví („hlavičky“) – definuje RFC 2616definuje RFC 2616 – Obecné hlavičky – Hlavičky požadavků – Hlavičky odpovědí – Hlavičky obsahů zpráv 23
24
Protokol HTTP (Hypertext Transfer Protocol) Obecné hlavičky (general) - informace obecného charakteru o zprávě. Příklady: Date: Mon, 07 Apr 1996 06:42:10 GMT (formát podle RFC822) Datum vytvoření zprávy Pragma: no-cache Umožní zahrnout specifické direktivy Host: "Host" ":" host [ ":" port ] GET /pub/WWW/ HTTP/1.1 Host: www.w3.org 24
25
Protokol HTTP (Hypertext Transfer Protocol) Hlavičky požadavků (request) Accept : text/plain, text/html, text/x-dvi, image/jpeg Podporované typy informačních objektů Authorization: Basic : Autentifikace uživatele From : user@e-mail.address E-mail uživatele If-Modified-Since: Mon, 07 Apr 1996 06:42:10 GMT Datum poslední modifikace objektu Referer http://www.w3.org/hypertext/DataSources/Overview.htm Informuje server, který URL je původcem odkazu na URL dotazu 25
26
Protokol HTTP (Hypertext Transfer Protocol) Hlavičky odpovědí (response) Location: http://nekde.jinde.cz/novy.html V souvislosti s kódy skupiny 3xx udává nové URL přemístěného objektu Server: Apache/1.2.5 mod_czech/2.4.0 PHP/3.0rev-dev Informace o programové podpoře serveru WWW-Authenticate: Basic realm="super-tajne" V souvislosti s kódem 401 - výzva k prokázání totožnosti 26
27
Protokol HTTP (Hypertext Transfer Protocol) Hlavičky těla zpráv (entity) Allow: GET, HEAD, PUT Informuje, jaké metody jsou uplatněny v rámci příslušného URL Content-Base: http://www.pef.mendelu.cz Základní URL pro relativní specifikaci Content-Encoding: gzip Indikace použitého dodatečného typu kódování Content-Type: text/html : charset=ISO-8859-2 Specifikuje typ zasílaného objektu Expires: Mon, 07 Apr 2003 06:42:10 GMT Datum vypršení platnosti informace (pro ukládání do cache) Last-Modified: Mon, 07 Apr 1996 06:42:10 GMT Datum poslední modifikace objektu 27
28
Protokol HTTP (Hypertext Transfer Protocol) Kontext WWW – Web technologie Hypertexový dokument– odkazy na další zdroje prostřednictvím URL Základní typ zdroje systému WWW – HTML (Hypertext Markup Language) dokument Jazyk HTML – podmnožina specifikace SGML (Standard Generalized Markup Language) Verze HTML 4.0 – poslední verze HTML, dále jako součást specifikace XHTML (Extensible Markup Language) Vývoj Web systému - konsorcium W3C 28
29
Protokol HTTP (Hypertext Transfer Protocol) Implementace HTTP serveru – WWW server – Apache – IIS (Internet Information Server fy. Microsoft) – ………………………………………. Implementace HTTP klienta – WWW prohlížeč (WWW browser) – Explorer – Netscape browser – Opera – Firefox – Lynx – ………….. 29
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.