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

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

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

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

WWW technologie. HTTP protokol

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

Uspořádání klient-server. Standardy pro Web

Úvod do aplikací internetu a přehled možností při tvorbě webu

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

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

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

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

WWW a HTML. Základní pojmy. Ivo Peterka

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

Úvod do tvorby internetových aplikací

HTTP protokol. Zpracoval : Petr Novotný

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

Tvorba webových stránek. Ing. Radek Burget, Ph.D.

Tvorba webu. Úvod a základní principy. Martin Urza

Popis nastavení DNS serveru Subjektu

RESTful API TAMZ 1. Cvičení 11

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

NSWI096 - INTERNET. Úvod do HTML

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

Počítačové sítě Aplikační vrstva Domain Name System (DNS)

Služba World Wide Web

HTTP: Hyper Text Transfer Protocol

Protokol HTTP. Ondřej Dolejš

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

SIP Session Initiation Protocol

Webové služby. Martin Sochor

C6 Bezpečnost dat v Internetu. 2. HTTP komunikace 3. HTTPS komunikace 4. Statistiky

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

SNMP Simple Network Management Protocol

Základy informatiky. 03 HTML, tvorba webových stránek. Kačmařík/Szturcová/Děrgel/Rapant

Vývoj Internetových Aplikací

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

Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

Základy HTML (2. přednáška)

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

HTML - Úvod. Zpracoval: Petr Lasák

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Testování webových aplikací Seznam.cz

Aplikační vrstva. Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace HTTP

APLIKACE XML PRO INTERNET

HTML Hypertext Markup Language

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Koláčky, sezení. Martin Klíma

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

Tvorba WWW stránek. Mojmír Volf

Administrace Unixu a sítí

Úvod do informatiky 5)

Inovace výuky prostřednictvím šablon pro SŠ

HTTP hlavičky pro bezpečnější web

Rodina protokolů TCP/IP, verze 2.3. Část 10: World Wide Web

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

Základní zadání IS o ISVS. Sluţba poskytování dat IS o ISVS

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

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

Ondřej Caletka. 23. května 2014

Tvorba jednoduchých WWW stránek

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Počítačové sítě Systém pro přenos souborů protokol FTP

Programování v jazyce JavaScript

Ing. Jitka Dařbujanová. , SSL, News, elektronické konference

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

TFTP Trivial File Transfer Protocol

Uspořádaný seznam nula nebo více elementů, každý je typem ASN.1 (heterogenní seznam) uspořádaný seznam stejných elementů

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Mgr. Vlastislav Kučera přednáška č. 2

ové služby na IPv6-only

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Tvorba informačních systémů

Content Security Policy

Užitečné odkazy:

Site - Zapich. Varianta 1

Technologie počítačových sítí AFT NAT64/DNS64. Bc. Lumír Balhar (BAL344), Bc. Petr Kadlec (KAD0019)

Internet Information Services (IIS) 6.0

Zabezpečení web aplikací

CZ.1.07/1.5.00/

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 1 VY 32 INOVACE

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

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

Základy webových aplikací ZWA Přednáška č. 2 HTML. Martin Klíma

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Mgr. Vlastislav Kučera lekce č. 2

XML terminologie a charakteristiky. Roman Malo

Internet WEB stránky HTML, Hypertext MarkUp Language - nadtextový jazyk - Místo příkazů obsahuje tagy - značky

Inovace výuky prostřednictvím šablon pro SŠ

Michal Krátký, Miroslav Beneš

Základy počítačových sítí. Webové služby. Úvod. Lekce 7 Ing. Jiří ledvina, CSc

Transkript:

BI-AWD Administrace Webového a Databázového serveru Úvod do problematiky HTTP serveru Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti 1

Obsah Základní pojmy a nástroje X/HTML URL/URI/IRI Protokol HTTP HTTP komunikace Nástroje a testování komnikace 2

Základní pojmy X/HTML HTML HyperText Markup Language Deklarace DTD je povinná pro 4.01+, direktiva <!DOCTYPE Kořenový element element html reprezentuje celý dokument Hlavička dokumentu obsahuje metadata, která se vztahují k celému dokumentu. Definují např. název dokumentu, jazyk, kódování, klíčová slova, popis, použitý styl zobrazení Tělo dokumentu obsahuje vlastní text dokumentu <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>html 4.01 Transitional</title> </head> <body> <a href="http://www.example.com"> <img src="link.gif" alt="link na www.example.com">... 3

XHTML je XML verze jazyka HTML Základní pojmy X/HTML Měl by to být validní XML dokument Měl by se dobře zobrazit ve webovém prohlížeči <?xml version="1.0" encoding="iso-8859-2"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > Některé webové prohlížeče mají problém se zobrazením, pokud není uvedena deklarace <!DOCTYPE jako první. Bez deklarace <?xml encoding=?> se předpokládá UTF-8/16 kódování. 4

Základní pojmy URL, URI, IRI URL = Uniform Resource Locator řetězec znaků s definovanou strukturou specifikující umístění zdrojů na Internetu je podmnožinou URI URI = Uniform Resource Identifier pojmenovává zdroje na Internetu syntaxe je specifická podle zvoleného schématu IRI = Internationalized Resource Identifier zobecněním URI umožnuje využívat Unicode místo ASCII (resp. Latin1) 5

Synataxe URL I Zjednodušená struktura generic-url ::= scheme:scheme-specific scheme ::= http ftp... scheme-specific ::= common-inet... common-inet ::= //user:password@host:port/url-path Příklady http://www.example.com http://www.example.com:8080/cesta/nazev http://www.example.com/cesta/nazev?parametr1=hodnota1&parametr2=hodnota2 ftp://anonymous:user%40example.com@ftp.example.com:21....../cesta/nazev;type=<typecode> mailto:user@example.com 6

Synataxe URL II Pro schéma HTTP může URL obsahovat #fragment není součástí URL podle RFC parser by měl být schopen jej rozpoznat V URL lze bezpečně (bez zakódování) používat pouze alfanumerické znaky ([0-9a-zA-Z]) speciální znaky $-_.+!*'() ostatní musí být kódovány pomocí %xx (kód je podle ISO 8859-1) Nebezpečné (unsafe) znaky: <> #%{}[] \^~` mohou být považovány za speciální při přenosu mohou být změněny, proto by měly být kódovány 7

Vyhrazené (reserved) znaky: ;/?:@=& speciální význam v URL pro jiné použití musí být kódovány Ukázka kódování znaků Znak Kód Znak Kód Synataxe URL III & %2B / %2F : %3A ; %3B = %3D? %3F @ %40 8

Protokol HTTP Základní vlastnosti HyperText Transfer Protocol Textový protokol (raw data) Bezestavový protokol Fungování způsobem: požadavek odpověď Protokol aplikační vrstvy (ISO OSI) Nad TCP/IP protokoly (obvykle port 80) Verze 1.0 RFC1945 http://tools.ietf.org/html/rfc1945 1.1 RFC2616, RFC2068 http://tools.ietf.org/html/rfc2616 HTTPS šifrovaná verze protokolu (HTTP + SSL/TLS) 9

Vlastnosti z HTTP/1.0 zůstávají Rozšíření oproti HTTP/1.0 Protokol HTTP/1.1 Hlavička Host: u každého požadavku (možnost používat virtální servery virtual hosts) Možnost poslat odpověď ve více částech (chunked encoding) Podpora trvalého (persistent) spojení se serverem (případně hlavička Connection: close při ukončení spojení) Správné zpracování odpovědi 100 Continue (obvykle se ignoruje) Vylepšená podpora Cache-Control 10

Protokol HTTP pojmy I Zpráva (message) Základní jednotka HTTP komunikace skládající se ze strukturované sekvence bytů (oktetů) a přenášená spojením. Požadavek (request) HTTP zpráva od klienta serveru Odpověď (response) HTTP zpráva od serveru klientovi Zdroj (resource) Datový o objekt nebo služba na síti, která může být identifikována pomocí URI. Zdroje mohou být k dispozici ve více reprezentacích (jazykové varianty, datové formáty atd.) 11

Protokol HTTP pojmy II Klient (client) Program, který navazuje spojení za účelem odeslání požadavku. Uživatelský agent (user agent) Klient, který inicioval požadavek. Typicky jimi jsou prohlíže, editory, roboti atd. Server Aplikace, která přijímá spojení a obsluhuje přes něj přijaté požadavky a odesílá zpět odpovědi. Program může být schopen chovat se jako klient i server, proto je označení vždy vztaženo ke konkrétnímu spojení. Origin server Server, na kterém se zdroj nachází nebo bude vytvořen. 12

Způsob činnosti klient/server Proxy Server Klient Name Server Web Server 13

Zjednodušená struktura požadavku HTTP syntaxe Request ::= RequestLine CRLF [Header CRLF]* CRLF [body] RequestLine ::= Method RequestUri HTTPVersion CRLF ::= CR LF Header ::= Host... Method ::= GET HEAD... Server vždy musí podporovat metody GET a HEAD, ostatní jsou volitelné. Zjednodušená struktura odpovědi Response ::= Status-Line (header CRLF)* CRLF [ message-body ] Status-Line ::= HTTP-Version Status-Code ReasonPhrase CRLF 14

TCP/IP I :: LAB Zjištění IP adresy/doménového jména ping www.google.com PING www.l.google.com (74.125.39.104) 56(84) bytes of data. 64 bytes from fx-in-f104.1e100.net (74.125.39.104): icmp_req=1 ttl=51 time=12.6 ms 64 bytes from fx-in-f104.1e100.net (74.125.39.104): icmp_req=2 ttl=51 time=11.9 ms nslookup www.google.com Server: 10.95.33.3 Address: 10.95.33.3#53 Non-authoritative answer: www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 74.125.39.105 Name: www.l.google.com Address: 74.125.39.106 Name: www.l.google.com Address: 74.125.39.147 15

Zjištění IP adresy/doménového jména dig www.google.com TCP/IP II :: LAB ; <<>> DiG 9.7.3 <<>> www.google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36672 ;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 4, ADDITIONAL: 4 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 514818 IN CNAME www.l.google.com. www.l.google.com. 97 IN A 74.125.39.99 www.l.google.com. 97 IN A 74.125.39.103 www.l.google.com. 97 IN A 74.125.39.104 www.l.google.com. 97 IN A 74.125.39.105 www.l.google.com. 97 IN A 74.125.39.106 www.l.google.com. 97 IN A 74.125.39.147 16

HTTP syntaxe I :: LAB Odeslání požadavku telnet www.google.com 80 Trying 74.125.39.105... Connected to www.l.google.com. Escape character is '^]'. GET / HTTP/1.0 17

HTTP syntaxe II :: LAB Přijmutí odpovědi HTTP/1.0 302 Found Location: http://www.google.cz/ Cache-Control: private Content-Type: text/html; charset=utf-8 Set-Cookie: PREF=ID=760e4ea5bdf6b578:FF=0:TM=1319543555: LM=1319543555:S=HB4wXQXr-3Tuob0_; expires=thu, 24-Oct-2013 11:52:35 GMT; path=/; domain=.google.com Date: Tue, 25 Oct 2011 11:52:35 GMT Server: gws Content-Length: 218 X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved <A HREF="http://www.google.cz/">here</A>. </BODY></HTML> Connection closed by foreign host. 18

Určují výsledek požadavku číselně (pro automatické zpracování) textově (pro snažší porozumění člověkem) První číslice kódu určuje třídu: HTTP stavové kódy I 1xx - Informational (informace) požadavek přijat, zpracování pokračuje 2xx - Success (úspěch) požadavek přijat a plně zpracován 3xx - Redirection (přesměrování) další akce musí být provedeny pro dokončení požadavku 4xx - Client Error (chyba klienta) požadavek nemůže být zpracován (špatná syntaxe, ) 5xx - Server Error (chyba serveru) serveru se nepodařilo zpracovat validní požadavek 19

HTTP stavové kódy II Nejčastější kódy 100 Continue - zpracování pokračuje 200 OK 300 Multiple Choices - výběr z možností (např. při dojednávání obsahu) 301 Moved Permanently - trvale přesunuto 400 Bad Request - neplatný požadavek 401 Unauthorized - neautorizovaný přístup 403 Forbidden - přístup zakázán 404 Not Found - zdroj nenalezen 500 Internal Server Error - vnitřní chyba serveru Pokud klient některému kódu nerozumí, považuje jej za kód x00 20