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

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

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

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

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

Administrace Unixu a sítí

HTTP protokol. Zpracoval : Petr Novotný

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

WWW technologie. HTTP protokol

HTTP: Hyper Text Transfer Protocol

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

Služba World Wide Web

Protokol HTTP. Ondřej Dolejš

RESTful API TAMZ 1. Cvičení 11

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

Úvod do informatiky 5)

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

Katedra softwarového inženýrství Matematicko-fyzikální fakulta UK

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

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

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

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

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

Webové služby. Martin Sochor

SSL Secure Sockets Layer

Rozdíly oproti webové stránce:

1 Cvičení č. 4 Nespojovaná spolupráce

Protokoly služeb Internetu

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.

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

Vývoj Internetových Aplikací

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

Historie Internetu instalace prvního uzlu společností ARPA

CZ.1.07/1.5.00/

Identifikátor materiálu: ICT-3-10

Malý průvodce Internetem

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í

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);

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

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

Protokoly požadavku na URL URL je odkaz na konkrétní prostředek na Internetu v konkrétním umístění a má následující standardní

Content Security Policy

Site - Zapich. Varianta 1

File Transfer Protocol (FTP)

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

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

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

Metody udržování stavových informací v protokolu HTTP

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

Co sledovat a jak měřit u mobilního webu

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

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

Použití programu WinProxy

Úvod do tvorby internetových aplikací

Internet. Historie. Internet. Základní služby Internetu. Mezi základní služby Internetu patří:

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

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

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

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

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

Instalace a konfigurace web serveru. WA1 Martin Klíma

a autentizovaná proxy

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

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

Zápasíme s REST API. Lukáš Křečan REST API Architect GoodData

Inovace bakalářského studijního oboru Aplikovaná chemie

Lekce 10: Aplikační vrstva

Schéma elektronické pošty

Artlingua Translation API

spolupráce více systémů. . Pro zajištění služby je používáno více aplikačních protokolů, např.: DNS SMTP.

GP webpay: Správa objednávek, Web Services

Elektronická pošta... 3 Historie... 3 Technické principy... 3 Komunikační protokoly... 3 MBOX... 4 Maildir... 4 Jak funguje POP3...

Užitečné odkazy:

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

Útoky na HTTPS. PV210 - Bezpečnostní analýza síťového provozu. Pavel Čeleda, Radek Krejčí

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

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

Internet Information Services (IIS) 6.0

SIP Session Initiation Protocol

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

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

Po ukončení tohoto kurzu budete schopni:

3.4 Základní služby Internetu

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

Tvorba informačních systémů

Analýza aplikačních protokolů

Š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

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

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

PHP a bezpečnost. nejen veřejná

Metody udržování stavových informací v protokolu HTTP

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

dostupným datům k datům, ochrana a zabezpečen ení datových i k volně dostupným datům, 2. Zabezpečen

Identifikátor materiálu: ICT-3-03

Michal Krátký, Miroslav Beneš

Formáty WWW zdrojů. Mgr. Filip Vojtášek.

Nastavení poštovních klientů pro přístup k ové schránce na VŠPJ

Jak to funguje?

Internet, www, el. pošta, prohlížeče, služby, bezpečnost

Transkript:

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

Historie WWW World Wide Web v současnosti nejrozšířenější a nejpoužívanější služba Internetu nebylo tomu tak vždy (Gopher,...) vyvinut v roce 1989 v Cernu ve Švýcarsku (Tim Berners-Lee) pro potřebu sdílení informace fyziků původně jako textová služba základní idea: hypertext 1992 1993: vývoj prohlížeče NSCA Mosaic volně šiřitelný, dostupný 1994: založena firma Netscape Communications vznik prohlížeče Netscape Navigator pro přenos hypertextu: protokol HTTP 2

HTTP HyperText Transport Protocol jednoduchý textový protokol používá spolehlivou službu: TCP, port 80 funguje bezestavově nemění se stav serveru pro každý objekt se navazuje nové spojení (HTTP verze 1.0) architektura klient server klient naváže spojení se serverem pošle svůj požadavek server odpoví, pošle výsledek dojde k uzavření spojení (HTTP verze 1.0), případně následuje další požadavek (1.1) umožňuje cachování odpovědí 3

HTTP metody příkazům klienta se říká metody pro různé akce existují různé metody GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE příkaz klienta vypadá takto: specifikace metody, objektu a verze protokolu možné hlavičky požadavku prázdný řádek (CRLF) případně tělo (např. u PUT) GET /index.html HTTP/1.0 Host: www.seznam.cz User-Agent: Mozilla/5.0 Referer: http://google.com?q=xxx 4

HTTP odpověď server vyřídí požadavek a vrátí odpověď první řádek udává verzi protokolu, chybový kód a jeho textovou reprezentaci následují hlavičky serveru, prázdný řádek a tělo odpovědi chybové kódy jsou podobné jako u SMTP: 2xx: bez chyby 200 OK, 201 Created, 202 Accepted,... 3xx: přesměrování klienta 301Moved Permanently, 302 Found, 304 Not modified 4xx: chyba u klienta 400 Bad request, 403 Forbidden, 404 Not found 5xx: chyba na serveru C: GET /index.html HTTP/1.0 C: Host: www.seznam.cz C: S: HTTP/1.0 404 Not found S:... 500 Internal server error, 501 Not implemented 5

Používané metody metoda GET umožňuje získat stránku (resource) ze serveru (může to být dynamický obsah) je to nejčastěji používaná metoda následuje cesta a verze protokolu HTTP metoda HEAD používá se stejně, jako GET, ale nevrací obsah (stránku) slouží k testování, např. zda byla stránka změněna (zjistí se z hlavičky odpovědi) metoda POST umožňuje předat data serveru např. pro odeslání dat z formuláře metoda PUT jako POST, ale měla by se použít, pokud dojde k náhradě entity obsahem 6

Málo používané metody metoda DELETE smaže obsah URL metoda OPTIONS získáme použitelné metody pro dané URL příliš se nepoužívá metoda CONNECT pro ověření přístupu na proxy server metoda TRACE vrátí zpět to, co dostala na vstupu pro debugování 7

Hlavičky klienta Accept: které typy odpovědi klient akceptuje (text/html, text/plain, */*) umožňuje použít i preference, vyjadřují se jako číslo menší než 1 např. text/plain; q=0.2, text/html; q=0.88, */*; q=0.1 Accept-charset:, Accept-encoding: podobně jako u Accept umožňuje použít preference charset: např. iso-8859-1, unicode encoding: např. gzip, compress, identity Accept-language: preferované jazyky dokumentu, opět jsou možné preference např. cz; q=0.8, en-gb; q=0.7, en; q=0.5 8

Hlavičky klienta Referer: odkaz na URL, ze kterého požadavek pochází umožňuje zjišťovat, odkud uživatelé na stránku přicházejí User-Agent: verze klienta (např. User-Agent: Mozilla/5.0) pro statistické účely If-Modified-Since: následuje datum (v GMT) podmíněný požadavek, vrací stránku pouze pokud byla změněna od uvedeného data jinak vrátí 304 Not modified MIME-Version, Content-Type, Content-Length jako v SMTP poště, velikost dat Pragma: no-cache 9

Hlavičky serveru Allow: pokud server vrátil 405 Method not allowed, říká, které metody jsou pro URL povolené Date: kdy byla odpověď odeslána Expires: kdy stránka má propadnout v cache Location: odkaz, kam vede přesměrování (kódy 301 nebo 302) Server: verze sw, podobně jako User-Agent MIME-Version, Content-Length, Content-Type, Content-Transfer-Encoding stejné jako u klienta 10

Basic authentication chceme omezit přistup ke stránkám na některé uživatele ověřovat jménem a heslem HTTP poskytuje možnost: basic authentication při přístupu na zabezpečenou zprávu vygeneruje server odpověď 401 Unauthorized do hlavičky odpovčdi přidá poližku WWW-Authenticate: Basic realm= xxx klient se zeptá uživatele na jméno a heslo, vytvoří řetězec jmeno:heslo ten se pomocí uuencode algoritmu převede na řetězec klient pošle v hlavičce požadavku Authorization: Basic awfuomjvb2j5 realm slouží k tomu, aby klient rozlišil, které heslo má poslat 11

Cookies původní návrh HTTP protokolu je bezestavový což je velké plus, kvůli jednoduché implementaci ale může způsobit problémy při psaní webových aplikací občas potřebujeme mít souvislost mezi jednotlivýmí přístupy uživatelů řešení: cookies server současně s odpovědí vrátí v hlavičce položku Cookie-set: obsahem položky je řetězec může specifikovat i další atributy (např. životnost) klient si cookie uloží do souboru, pamatuje si k ní server, ze kterého přišla klient při odesílání požadavku vždy prozkoumá svojí databázi cookies najde-li cookie, která odpovídá serveru, pošle ji spolu s požadavkem v hlavičce jako Cookie: 12

HTTP 1.1 HTTP 1.0 pro každý požadavek navazuje nové spojení např. pro každý obrázek na stránce neefektivní, zbytečná zátěž serveru i klienta, sítě důsledek bezestavovosti HTTP 1.1 dovoluje požadavky sdružit do jednoho spojení pomocí jednoho spojení je možné stáhnout více objektů z jednoho serveru efektivnější, rychlejší podpora komprimace dat (gzip, compress) podpora částečných přenosů povinná hlavička Host: umožňuje vytvářet více virtuálních serverů s jednou IP adresou umožňuje posílat data postupně (stream): chunked encoding 13

Hlavičky Cache-control: řídí cachování odpovědi po cestě no-cache, max-age, private, public nahrazuje HTTP 1.0 hlavičku Pragma: no-cache Connection: close signalizuje protistraně, že spojení bude uzavřeno po skončení přenosu požadavku Range: chceme jen část obashu, specifikujeme rozsah bajtů, které chceme Content-MD5 pro zjištění, zda přenesená data jsou v pořádku Host: udává, který server má být požadavkem osloven, může obsahovat port Host: www.idnes.cz:80 14

Virtuální servery chceme na jednom fyzickém serveru provozovat více webových serverů s různým DNS jménem pro různé účely, případně zákazníky v zásadě existují dvě možnosti: name based a IP based IP based virtuální servery každý virtuální server má svoji IP adresu, která je přiřazena serveru na portu 80 pro každou z adres běží jiná instance web serveru name based virtuální servery všechny serveru sdílí jednu IP adresu rozlišení se děje na základě položky hlavičky požadavku Host: (povinná pro HTTP 1.1) někteří staří klienti nemusí podporovat (dnes už podporují všichni) problém s SSL komunikací 15

Chunked encoding HTTP/1.1 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/plain Transfer-Encoding: chunked 1a; ignore-stuff-here abcdefghijklmnopqrstuvwxyz 10 1234567890abcdef 0 some-footer: some-value another-footer: another-value [blank line here] 16