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

Podobné dokumenty
HTTP protokol. Zpracoval : Petr Novotný

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

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

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

WWW technologie. HTTP protokol

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

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

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

Služba World Wide Web

Protokol HTTP. Ondřej Dolejš

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

HTTP: Hyper Text Transfer Protocol

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

Administrace Unixu a sítí

.password xklima:$apr $l sbbajg$ruuy FCr urjfjsvlehsf/ Přídání hesla htpasswd.exe -c c:\www_root\vyuka\autentizace\apache\.

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

RESTful API TAMZ 1. Cvičení 11

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

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

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

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

6. Transportní vrstva

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

Počítačové sítě Transportní vrstva. Transportní vrstva

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

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

Užitečné odkazy:

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.

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

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

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

Knihovna DebugComLib

Nástroje pro FlowSpec a RTBH. Jiří Vraný, Petr Adamec a Josef Verich CESNET. 30. leden 2019 Praha

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

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

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Počítačové sítě 1 Přednáška č.6 Transportní vrstva

Site - Zapich. Varianta 1

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

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

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Webové služby. Martin Sochor

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

SIP Session Initiation Protocol

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

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

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

Počítačové sítě 1 Přednáška č.4 Síťová vrstva

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

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

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

Schéma elektronické pošty

Semestrální práce 37MK

Y36SPS Jmenné služby DHCP a DNS

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

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

Tvorba informačních systémů

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

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

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.

Lekce 10: Aplikační vrstva

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ží

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

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.

4. Transportní vrstva

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

NAS 323 NAS jako VPN Server

3.4 Základní služby Internetu

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

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

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Michal Krátký, Miroslav Beneš

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

Téma 10 SíťovéIP protokoly a API

Téma 10 SíťovéIP protokoly a API

Obsah PODĚKOVÁNÍ...11

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Michal Vávra FI MUNI

DopisOnlineNew. Příručka k API. Leoš Krejčí Zpracoval. Útvar. Datum vytvoření. Datum aktualizace. Počet stran.

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

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

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

Rozlišení člověk/robot na úrovni HTTP použitelné pro omezení DDOS útoků

Rozdíly oproti webové stránce:

Transportní vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

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í

Semestrální projekt do SPS Protokol RSVP na Cisco routerech

2N Helios IP HTTP API

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

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Síťové protokoly. Filozofii síťových modelů si ukážeme na přirovnání:

Nové jazykové brány do Caché. Daniel Kutáč

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

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

Y36PSI Protokolová rodina TCP/IP

I/O a SCADA systémy. iologik I/O Servery. iologik iologik 2000

Protokoly služeb Internetu

Transkript:

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

Obsah Úvod Vrstvy podle TCP/IP Požadavek / Odpověď Metody požadavku Hlavičky Kódy odpovědi Ukázka 25.4.2005 Pavel Šinták 2/30

Úvod protokol aplikační úrovně běžně na TCP portu 80 bezestavový (požadavek / odpověď) textově orientovaný 1991 HTTP verze 0.9 (CERN) 1996 HTTP/1.0 RFC1945 1999 HTTP/1.1 RFC2616 25.4.2005 Pavel Šinták 3/30

HTTP/1.1! Host hlavička více požadavků přes jedno TCP spojení (pipelining) jinak musí přidat Connection: close více domén na jedné IP adrese chunked encoding tělo po částech server může odpovídat HTTP/1.1 100 Continue vylepšená podpora cache server musí přidat Date hlavičku přidané hlavičky 25.4.2005 Pavel Šinták 4/30

Vrstvy podle TCP/IP HTTP TCP IP Aplikační vrstva Transportní vrstva Síťová vrstva Ethernet,TokenRing,... Vrstva síťového rozhraní 25.4.2005 Pavel Šinták 5/30

Postup spojení 1. klient naváže TCP spojení na IP adresu (adresa serveru) a port (standardně 80) 2. klient zašle HTTP požadavek na server 3. server zašle HTTP odpověď klientovi a. server uzavře TCP spojení b. klient zašle další požadavky v rámci TCP 25.4.2005 Pavel Šinták 6/30

Vrstvení zprávy (Ethernet II) Ethernet II Destination: 00:50:fc:32:ea:a5 (EdimaxTe_32:ea:a5) Source: 00:10:dc:c2:ed:0c (Micro-St_c2:ed:0c) Type: IP (0x0800) Internet Protocol Transmission Control Protocol Hypertext Transfer Protocol 25.4.2005 Pavel Šinták 7/30

Vrstvení zprávy (IP) Internet Protocol Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 Total Length: 222 Identification: 0x3b66 (15206) Flags: 0x04 Fragment offset: 0 Time to live: 128 Protocol: TCP (0x06) Header checksum: 0xe204 (correct) Source: psintak.kk.zcu.cz (10.40.5.153) Destination: titan.zcu.cz (147.228.57.10) Transmission Control Protocol Hypertext Transfer Protocol 25.4.2005 Pavel Šinták 8/30

Vrstvení zprávy (TCP) Transmission Control Protocol Source port: 1620 (1620) Destination port: http (80) Sequence number: 1 Next sequence number: 183 Acknowledgement number: 1 Header length: 20 bytes Flags: 0x0018 (PSH, ACK) Window size: 8760 Checksum: 0xce2b (correct) Hypertext Transfer Protocol 25.4.2005 Pavel Šinták 9/30

Vrstvení zprávy (HTTP) Hypertext Transfer Protocol GET / HTTP/1.0 \r\n Accept: */* \r\n Accept-Language: cs \r\n User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) \r\n Host: www.zcu.cz \r\n Connection: Keep-Alive \r\n \r\n 25.4.2005 Pavel Šinták 10/30

Požadavek (Request) <metoda> <URI> <verze> CRLF <hlavička>* CRLF CRLF <tělo> GET / HTTP/1.1 Host: www.zcu.cz 25.4.2005 Pavel Šinták 11/30

Odpověď (Response) <verze> <kód> <popis> CRLF <hlavička>* CRLF CRLF <tělo> HTTP/1.1 200 OK Content-Type: text/html Content-Length: 8969 Connection: close <HTML> <HEAD>... 25.4.2005 Pavel Šinták 12/30

Verze protokolu podle podporované verze HTTP HTTP/<hlavní>.<vedlejší> HTTP/0.9, HTTP/1.0, HTTP/1.1 klient požadavek 1.0 server umí 1.1 server odpovídá 1.1 zpětná kompatibilita 25.4.2005 Pavel Šinták 13/30

URI Uniform Resource Identifiers RFC 2396 relativní (i absolutní pro 1.0) adresa do budoucna opět absolutní (HTTP/1.2) http://host[:port][path[?query]] 25.4.2005 Pavel Šinták 14/30

Metody požadavku GET obdržení cíle (od 0.9) HEAD cíl bez těla (od 1.0...) POST odeslání dat + získání cíle OPTIONS podporované metody (od 1.1...) PUT nahrání na cíl DELETE smazání cíle TRACE sledování cesty CONNECT tunel pro proxy 25.4.2005 Pavel Šinták 15/30

GET pro obdržení zadaného cíle z URI parametry předává v URI délka URI není RFC omezena (ale 255) HTTP/0.9 GET / HTTP/1.0 GET http://www.zcu.cz/ HTTP/1.0 HTTP/1.1 GET / HTTP/1.1 Host: www.zcu.cz 25.4.2005 Pavel Šinták 16/30

HEAD pro obdržení hlavičky od zadaného cíle stejný jako GET, jen bez těla odpovědi HEAD / HTTP/1.1 Host: www.zcu.cz 25.4.2005 Pavel Šinták 17/30

POST pro odeslání dat na server odesílání argumentů, nahrávání souborů data v těle za hlavičkou POST /test.php HTTP/1.1 Host: www.zcu.cz Content-Type: application/x-www-form-urlencoded Content-Length: 8 text=nic 25.4.2005 Pavel Šinták 18/30

OPTIONS zjištění metod podporovaných serverem odpověď bez těla OPTIONS * HTTP/1.1 Host: www.zcu.cz HTTP/1.1 200 OK Allow: GET,HEAD,POST,OPTIONS,TRACE 25.4.2005 Pavel Šinták 19/30

Obecné hlavičky Cache-Control nastavenícache Connection (close) uzavření spojení Date Pragma původní nastavení cache Trailer Transfer-Encoding kódování přenosu Upgrade přidané protokoly Via Warning 25.4.2005 Pavel Šinták 20/30

Hlavičky požadavku Accept (*/*) - MIME Accept-Charset Accept-Encoding -obsah Accept-Language (cs) Authorization Expect From -email Host!!! If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Max-Forwards Proxy-Authorization Range Referer TE User-Agent 25.4.2005 Pavel Šinták 21/30

Hlavičky odpovědi Accept-Ranges Age ETag Location přesměrování Proxy-Authenticate Retry-After Server popis serveru Vary WWW-Authenticate (Basic/Digest) 25.4.2005 Pavel Šinták 22/30

Hlavičky pro tělo Allow podporované metody Content-Encoding (gzip) - kódování těla Content-Language Content-Length velikost těla Content-Location externí tělo Content-MD5 Content-Range Content-Type (MIME; charset=) Expires Last-Modified 25.4.2005 Pavel Šinták 23/30

Kódy odpovědi <kód> <popis> 1xx informační 2xx úspěch 3xx přesměrování 4xx chyba na straně klienta 5xx chyba na straně serveru 25.4.2005 Pavel Šinták 24/30

Běžně používané kódy 100 Continue 200 OK 301 Moved permanently 304 Not Modified 400 Bad request 401 Unauthorized 403 Forbidden 404 Not found 500 Internal error 501 Not implemented 503 Service Unavailable 25.4.2005 Pavel Šinták 25/30

Ukázka (1) - požadavek GET / HTTP/1.0 Accept: */* Accept-Language: cs User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) Host: www.zcu.cz Connection: Keep-Alive 25.4.2005 Pavel Šinták 26/30

Ukázka (2) - odpověď HTTP/1.1 200 OK Date: Sat, 23 Apr 2005 12:52:40 GMT Server: Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c Accept-Ranges: bytes Connection: close Content-Type: text/html <html> <head> <title>zapadoceska univerzita v Plzni</title> 25.4.2005 Pavel Šinták 27/30

Ukázka (3) - požadavek GET /zcu/zcu.css HTTP/1.0 Accept: */* Referer: http://www.zcu.cz/ Accept-Language: cs If-Modified-Since: Mon, 03 Jan 2005 08:57:01 GMT If-None-Match: "1800455-15b-ef7e3140" User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322) Host: www.zcu.cz Connection: Keep-Alive 25.4.2005 Pavel Šinták 28/30

Ukázka (4) - odpověď HTTP/1.1 304 Not Modified Date: Sat, 23 Apr 2005 12:52:40 GMT Server: Apache/2.0.48 (Unix) mod_ssl/2.0.48 OpenSSL/0.9.7c Connection: Keep-Alive Keep-Alive: timeout=15, max=100 ETag: "1800455-15b-ef7e3140" 25.4.2005 Pavel Šinták 29/30

Použité zdroje http://www.rfc.net/rfc2616.html http://www.jmarshall.com/easy/http/ http://www.root.cz/clanky/protokolhttp-1-1-pod-lupou/ http://www.kiv.zcu.cz/~brada/vyuka/pi a/slides/05-http.pdf 25.4.2005 Pavel Šinták 30/30