Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Protokol HTTP (Hypertext Transfer Protocol)

Podobné prezentace


Prezentace na téma: "Protokol HTTP (Hypertext Transfer Protocol)"— Transkript prezentace:

1 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, textové zprávy (požadavek a odpověď) jsou vyměňovány mezi klientem a serverem obdobně jako u transakcí SMTP HTTP transakce (např. klient požaduje zaslání kopie souboru, který následně interpretuje – server požadavek akceptuje, kopii ve své odpovědi odesílá)

2 Protokol HTTP (Hypertext Transfer Protocol)
Formát a obsah textových zpráv je specifikován v RFC dokumentech Vývoj HTTP – současná verze HTTP/1.1 (RFC 2616) – princip zpětné kompatibility Přínosy nové verze pro snížení zátěže sítě: Vytváří trvalá spojení pro více požadavků klienta Podporuje komprimaci a dekomprimaci dat Možnost nastavení virtuálních serverů Podpora intervalového přenosu ……..

3 Protokol HTTP (Hypertext Transfer Protocol)
Schéma komunikace Hypertextový odkaz Hypertextový odkaz WEB server WEB server WEB server 80 80 80 TCP spojení http odpověď WEB klient http požadavek

4 Protokol HTTP (Hypertext Transfer Protocol)
HTTP transakci iniciuje klient, předává požadavek serveru K S přímá transakce K A B C S tunel proxy K A B………C……….S

5 Protokol HTTP (Hypertext Transfer Protocol)
Formáty zpráv protokolu HTTP: Dotaz (request): <metoda> <URI> <verze protokolu HTTP>….příkazový řádek <headers> volný řádek <message-body> Odpověď (response): < verze protokolu HTTP > <stavový kód > <vysvětlující text> ……… stavový řádek

6 Protokol HTTP (Hypertext Transfer Protocol)
Metoda – požadavek (1) GET – žádá zaslání celé entity specifikované v URI HEAD – žádá zaslání záhlaví entity specifikované v URI POST –žádá o přijetí obsahu 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 ……..

7 Protokol HTTP (Hypertext Transfer Protocol)
Metoda – požadavek (2) PUT – žádá o vložení obsahu zprávy pod specifikované URI 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 – žádost o trasování komunikačního řetězce CONNECT – (zatím se neimplementuje) – umožňuje přepnutí proxy serveru na „tunel“ do zabezpečeného transakčního kanálu

8 Protokol HTTP (Hypertext Transfer Protocol)
URI – (Uniform Resource Identifier) - identifikátor přístupu k internetovému zdroji (obecný) – formát 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: http: // < host > [: < port>][< abs_path> [? < query>] ]

9 Protokol HTTP (Hypertext Transfer Protocol)
Verze protokolu – HTTP/1.1 nebo HTTP/1.0 http: // < host > [: < port>][< abs_path> - hierarchická složka (cesta k objektu) < query> - nehierarchická složka Sekvence < key>= < value>& < key>= < value>& < key>= < value>& < key>= < value>…. CGI (Common Gateway Interface) – standard pro definice rozhraní mezi Web serverem a externími aplikačními programy

10 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 CONTENT_TYPE MIME typ dat zasílaných metodou POST CONTENT_LENGTH délka dat zasílaných metodou POST

11 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

12 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ě)

13 Protokol HTTP (Hypertext Transfer Protocol)
Stavový kód – tříciferný identifikátor typu odpovědi 100 – 199 – odpověď má charakter informace 200 – 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

14 Příklady HTTP odpovědí Pozitivní odpovědi
200 – data odeslána akceptováno 201 – vytvořeno – není obsah Informace 304 - nemodifikováno Chyba klienta 400 – Bad Request 401 – Unauthorized 403 – Forbidden 404 – Not found Chyba serveru 500 – Internal server error Not implemented 502 - Bad gateway – Service unavailable

15 Protokol HTTP (Hypertext Transfer Protocol)
Záhlaví („hlavičky“) – definuje RFC 2616 Obecné hlavičky Hlavičky požadavků Hlavičky odpovědí Hlavičky obsahů zpráv

16 Protokol HTTP (Hypertext Transfer Protocol)
Obecné hlavičky (general) - informace obecného charakteru o zprávě. Příklady: Date: Mon, 07 Apr :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:

17 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 <uživatel>:<heslo> Autentifikace uživatele From : uživatele If-Modified-Since: Mon, 07 Apr :42:10 GMT Datum poslední modifikace objektu Referer Informuje server, který URL je původcem odkazu na URL dotazu

18 Protokol HTTP (Hypertext Transfer Protocol)
Hlavičky odpovědí (response) Location: 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 výzva k prokázání totožnosti

19 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: 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 Specifikuje typ zasílaného objektu Expires: Mon, 07 Apr :42:10 GMT Datum vypršení platnosti informace (pro ukládání do cache) Last-Modified: Mon, 07 Apr :42:10 GMT Datum poslední modifikace objektu

20 Protokol HTTP (Hypertext Transfer Protocol)
Princip hypertexového dokumentu – odkazy na další entity prostřednictvím URL Základní typ entity Web – HTML (Hypertext Markup Language) dokument Jazyk HTML – podmnožina specifikace SGML (Standard Generalized Markup Language) verze HTML 4.0 – poslední verze, dále jako součást XHTML (Extensible Markup Language) Vývoj Web systému - konsorcium W3C

21 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 Lynx ………………..


Stáhnout ppt "Protokol HTTP (Hypertext Transfer Protocol)"

Podobné prezentace


Reklamy Google