I.Wojnicki, Tech.Inter.



Podobne dokumenty
I.Wojnicki, JiTW. Języki i Technologie Webowe. Protokół HTTP, Przegladarki. Igor Wojnicki

I.Wojnicki, Tech.Inter.

Protokół HTTP 1.1 *) Wprowadzenie. Jarek Durak. rfc2616 źródło

Technologie internetowe

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

Języki programowania wysokiego poziomu WWW

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

1. Model klient-serwer


Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

Programowanie w Internecie

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

Specyfikacja techniczna. mprofi Interfejs API

Protokół HTTP. Omówienie standardu z analizą ruchu sieciowego

Bezpieczeństwo WWW. Plan prezentacji. WWW a protokoły TCP/IP; URL. Czym jest WWW?

XML-RPC: Zdalne wykonywanie procedur

Dokument hipertekstowy

Raport dla strony: Data wygenerowania raport: :37:26 Liczba wykrytych problemów: 34

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

Sieciowe systemy informacyjne

Aplikacje WWW Wprowadzenie

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

HTTP. literatura:

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Aplikacje webowe. mgr inż. Aleksander Smywiński-Pohl. Elektroniczne Przetwarzanie Informacji

Zaawansowany kurs języka Python

Wybrane działy Informatyki Stosowanej

Bazy Danych i Usługi Sieciowe

I.Wojnicki, Tech.Inter.

Kurs WWW. Paweł Rajba

Lab5 - Badanie protokołów pocztowych

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Zadanie programistyczne nr 3 z Sieci komputerowych

Aplikacje WWW. Wykład 4. Protokół HTTP. wykład prowadzi: Maciej Zakrzewicz. Protokół HTTP

Laboratorium nr 4 - Badanie protokołów WWW

Tomasz Greszata - Koszalin

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

OpenLaszlo. OpenLaszlo

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Aplikacje Internetowe termin dodatkowy

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Wprowadzenie do programowania www

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Języki i narzędzia programowania III. Łukasz Kamiński Wykład II

Analiza malware'u SandroRAT_sec Kaspersky_Mobile_Security.apk

Sieci komputerowe i bazy danych

Dostęp do komponentów EJB przez usługi Web Services

SPRAWOZDANIE SIECI KOMPUTEROWE I BAZY DANYCH LABORATORIUM NR 4 BADANIE PROTOKOŁÓW HTTP KAMIL BOGDANOWSKI

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Specyfikacja HTTP API. Wersja 1.6

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

Tomasz Greszata - Koszalin

Uwierzytelnianie HTTP

OPIS TECHNICZNY SYSTEM HOSTED SMS

HTTP, CGI, Perl. HTTP HyperText Transfer Protocol. CGI Common Gateway Interface. Perl Practical Extraction and Report Language

Gatesms.eu Mobilne Rozwiązania dla biznesu

PSI Protokół HTTP + wstęp do przedmiotu. Kraków, 10 październik 2014 mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Sprawozdanie nr 4. Ewa Wojtanowska

rk HTML 4 a 5 różnice

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, . A. Kisiel,Protokoły DNS, SSH, HTTP,

Sieci komputerowe Warstwa aplikacji

Architektura aplikacji sieciowych. Architektura klient-serwer

Sprawozdanie Laboratorium 4

Programowanie internetowe

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Programowanie w Internecie

Protokoły Internetowe

Sieci komputerowe. Wykład 7: Warstwa zastosowań: DNS, FTP, HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

TIN Techniki Internetowe zima

Stos TCP/IP. Warstwa aplikacji cz.2

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Języki i narzędzia programowania III. Łukasz Kamiński Wykład I

Plan całości wykładu. Warstwa łącza i sieci lokalne

Laboratorium 1 Wprowadzenie do PHP

Dokumentacja Techniczna. Dokumentacja techniczna usługi płatności mobilnych

Testy penetracyjne Przykłady programów

Warszawa Specyfikacja techniczna. mprofi Interfejs API wersja 1.0.7

Aplikacje internetowe Koncepcja Architektura Technologie

Projektowanie stron WWW

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

13. Konfiguracja proxy http, smtp, pop3, ftp, ssl

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Warstwa aplikacji. część 1. Sieci komputerowe. Wykład 8. Marcin Bieńkowski

Tomasz Grześ. Systemy zarządzania treścią

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

Transkrypt:

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 1 / 37 Techniki Internetowe i Multimedialne Protokół HTTP, Przegladarki Igor Wojnicki Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie 5 marca 2012

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 2 / 37 Spis Treści 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 3 / 37 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 4 / 37 Protokół HTTP Wybrane Definicje HTTP, RFC1945 I http://www.ietf.org/rfc/rfc1945.txt HTTP Made Really Easy: http://www.jmarshall.com/easy/http/ połaczenie (connection) komunikacja ustanowiona pomiędzy dwoma aplikacjami, komunikat (message) podstawowa jednostka komunikacji HTTP, na komunikat składaja się zdefiniowane zbiory bajtów, żadanie (request) komunikat HTTP będacy żadaniem, odpowiedź (response) komunikat HTTP będacy odpowiedzia, zasób (resource) dane albo usługa zidentyfikowana przez URI, dane (entity) reprezentacja zasobu, klient (client) aplikacja nawiazuj aca połaczenie celem wysyłania żadań, serwer (server) aplikacja przyjmujaca połaczenia, wysyła odpowiedzi.

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 5 / 37 Podstawy HTTP Hyper Text Transfer Protocol. HTTP 1.0, 1.1. Wykorzystuje TCP, domyślnie port 80. Typ komunikacji: Żadanie-Odpowiedź. Specyfikacja zasobu poprzez podanie URI, obsługiwane schematy URI: http, https. Do identyfikacji przesyłanych danych używany jest podzbiór MIME (Multipurpose Internet Mail Extensions, RFC1521).

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 6 / 37 Struktura Protokołu HTTP Żadanie: polecenie nagłówki (0 lub więcej) pusta linia dane Odpowiedź: pojedyncza linia statusu: protokół kod opis

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 7 / 37 Protokół HTTP: Status 1xx powiadomienie 2xx powodzenie 200 OK 3xx przekierowanie do innego URI 301 Moved Permanently 4xx bład po stronie klienta 404 Not Found 5xx bład po stronie serwera 500 Server Error

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 8 / 37 Protokół HTTP Protokół HTTP: Polecenia I Wybrane polecenia protokołu (uwaga: rozróżniane duże i małe litery): GET: żadanie udostępnienia zasobu, HEAD: j.w. tylko nagłówek, POST: wysłanie danych do serwera (np. dane z formularzy),

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 9 / 37 Protokół HTTP: Nagłówki Klient: From: zwykle email User-Agent: identyfikacja klienta: Nazwa/Wersja Serwer: Host: HTTP 1.1 Server: analogicznie jak User-Agent Last-Modified: Data i godzina modyfikacji zasobu Connetion: rodzaj połacznia (close dla HTTP 1.0)

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 10 / 37 Protokół HTTP: Nagłówki, identyfikacja danych Content-Type: tym MIME, np. text/html, application/octet-stream Content-Length: rozmiar w bajtach

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 11 / 37 Przykład: HEAD I Protokół HTTP telnet charon.ia.agh.edu.pl 80 Trying 149.156.199.59... Connected to charon.ia.agh.edu.pl. Escape character is ^]. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 28 Feb 2006 13:34:42 GMT Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_ Last-Modified: Thu, 15 Sep 2005 10:04:15 GMT ETag: "9a-b81-9978c5c0" Accept-Ranges: bytes Content-Length: 2945 Connection: close Content-Type: text/html

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 12 / 37 Przykład: HEAD I Protokół HTTP telnet www.agh.edu.pl 80 Trying 149.156.96.1... Connected to web.uci.agh.edu.pl. Escape character is ^]. HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 28 Feb 2006 13:36:53 GMT Server: Apache/1.3.33 (Unix) mod_ssl/2.8.24 OpenSSL/0.9.7d X-Powered-By: PHP/5.0.4 Connection: close Content-Type: text/html; charset=iso-8859-2

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 13 / 37 Przykład: GET I Protokół HTTP telnet www.agh.edu.pl 80 Trying 149.156.96.1... Connected to web.uci.agh.edu.pl. Escape character is ^]. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 28 Feb 2006 12:57:17 GMT Server: Apache/1.3.33 (Unix) mod_ssl/2.8.24 OpenSSL/0.9.7d X-Powered-By: PHP/5.0.4 Connection: close Content-Type: text/html; charset=iso-8859-2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>.. </html>

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 14 / 37 Przykład: GET I Protokół HTTP telnet charon.ia.agh.edu.pl 80 Trying 149.156.199.59... Connected to charon.ia.agh.edu.pl. Escape character is ^]. GET / HTTP/1.0 HTTP/1.1 200 OK Date: Tue, 28 Feb 2006 13:00:42 GMT Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_ Last-Modified: Thu, 15 Sep 2005 10:04:15 GMT ETag: "9a-b81-9978c5c0" Accept-Ranges: bytes Content-Length: 2945 Connection: close Content-Type: text/html

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 15 / 37 Przykład: GET II Protokół HTTP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML>... </HTML>

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 16 / 37 Protokół HTTP Przykład: GET, niepowodzenie I telnet charon.ia.agh.edu.pl 80 Trying 149.156.199.59... Connected to charon.ia.agh.edu.pl. Escape character is ^]. GET /sth/i.html HTTP/1.0 HTTP/1.1 404 Not Found Date: Fri, 10 Mar 2006 11:47:24 GMT Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_ Content-Length: 348 Connection: close Content-Type: text/html; charset=iso-8859-1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title>

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 17 / 37 Protokół HTTP Przykład: GET, niepowodzenie II </head><body> <h1>not Found</h1> <p>the requested URL /sth/i.html was not found on this serv <hr> <address>apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod </body></html>

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 18 / 37 Protokół HTTP Przykład, HEAD, HTTP/1.1 I Może być więcej niż jedno polecenie/połaczenie. Przekazanie nazwy symbolicznej węzła (host), którego dotyczy żadanie, jako część składowa protokolu. telnet charon.ia.agh.edu.pl 80 Trying 149.156.199.59... Connected to charon.ia.agh.edu.pl. Escape character is ^]. HEAD / HTTP/1.1 Host: charon.ia.agh.edu.pl HTTP/1.1 200 OK Date: Wed, 01 Mar 2006 14:51:09 GMT Server: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16 mod_ Last-Modified: Thu, 15 Sep 2005 10:04:15 GMT ETag: "9a-b81-9978c5c0"

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 19 / 37 Protokół HTTP Przykład, HEAD, HTTP/1.1 II Accept-Ranges: bytes Content-Length: 2945 Content-Type: text/html

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 20 / 37 Przykład, POST I Protokół HTTP POST /path/script.cgi HTTP/1.0 From: frog@jmarshall.com User-Agent: HTTPTool/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 32 home=cosby&favorite+flavor=flies

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 21 / 37 application/x-www-form-urlencoded Znaki inne niz litery/cyfry jako %xx, gdzie xx jest wartościa ASCII. Spacja + nazwa=wartość, oddzielone & np. imiona=igor+witold&nazwisko=wojnicki

Protokół HTTP Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 22 / 37 GET raz jeszcze Stosujac GET można również przekazywać parametry podobnie jak dla POST. Protokół HTTP nie określa max. długości URI Istnieje ograniczenie narzucone przez przegladarki, bezpiecznie 2kB. Znaki winny być zakodowane tak jak dla: application/x-www-form-urlencoded http://www.google.pl/search?q=protokol+http

Klient HTTP: Przegladarka Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 23 / 37 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Klient HTTP: Przegladarka Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 24 / 37 Zadania przegladarki Używa HTTP. Renderuje HTML, XML, CSS + grafika rastrowa (JPG, PNG, GIF), grafika wektorowa SVG (Scalable Vector Graphics). JavaScript. System wtyczek: Java. Flash. Standardy HTML, XML, CSS: World Wide Web Consortium (W3C): http://www.w3.org

Klient HTTP: Przegladarka Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 25 / 37 Przegladarki Mozilla/Firefox (Gecko). Safari (WebKit: WebCore (KHTML) + JavaScriptCore (kjs (KDE)) Konqueror (KHTML + kjs) Google Chrome. Internet Explorer. Opera. Testy Acid1, Acid2, Acid3: http://www.acidtests.org/

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 26 / 37 Proxy Klient HTTP: Przegladarka Proxy serwer system komputerowy pośredniczacy w nawiazywaniu połaczeń, często używane do HTTP, FTP, HTTPS. Główne zadania: filtracja (ceznura, wirusy, przciwdziałanie cenzurze, konwersja protokołów), Rodzaje: buforowanie (szybszy dostęp do danych), anonimizacja. jawny, transparentny.

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 27 / 37 Proxy i Przegladarki Klient HTTP: Przegladarka Transparentny żadna konfiguracja nie jest wymagana. Jawny: Ręczne: HTTP, HTTPS, FTP, dla każdego # portu (zwykle 8080). Automatyczne: URI ze skryptem automatycznej konfiguracji Proxy.

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 28 / 37 Klient HTTP: Przegladarka Przegladarka: Automatyczna Konfiguracja Proxy Skrypt Funkcja JavaScript uruchamiana przez przegladarkę przy odwolaniu do URI: function FindProxyForURL(url, host) {... } Zwraca: DIRECT połaczenie bezpośrednie, PROXY host:port połaczenie przez zdefiniowany serwer. Może zwracać wiele wartości używane przez przegladarke w kolejności, o ile poprzednik nie odpowiada.

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 29 / 37 Przykład AKP Klient HTTP: Przegladarka Skrypt pod adresem: http://www.agh.edu.pl/agh.pac Zawartość: function FindProxyForURL(url, host) { return "PROXY w3cache.agh.edu.pl:8080"; return "DIRECT"; }

Wyszukiwarki Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 30 / 37 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Wyszukiwarki I Wyszukiwarki Historycznie: Katalogi. Indeksy. Aktualnie rozwiazania hybrydowe. Altavista http://www.altavista.com, pierwsza wyszukiwarka, Google http://www.google.com, Yahoo http://www.yahoo.com, yippy (Vivisimo, Clusty) http://yippy.com, klasteryzacja rezultatów. mozdex http://www.mozdex.com/, algorytmy opensource, dmoz http://dmoz.org/, Open Directory Project, katalog!, hakia http://hakia.com/, semantyczna, WolframAlpha http://www.wolframalpha.com Mathematica, wiedza, obliczenia. Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 31 / 37

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 32 / 37 Google Potentat na rynku. Wyszukiwarki Unikalne serwisy. Użycie AJAX (Asynchronous JavaScript And XML) na szeroka skalę. Mail: http://mail.google.com 7+GB. Maps: http://maps.google.com rewolucyjne zastosowanie AJAX do interakcji (przewijanie mapy); połaczenie map wektorowych i satelitarnych, szukanie połaczeń, Video: http://video.google.com baza danych materiałów wideo, również komercyjnych, AJAX+Flash; http://youtube.com. Calendar: http://www.google.com/calendar. Docs: http://docs.google.com.

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 33 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 34 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 35 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 36 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Techniki Internetowe i Multimedialne 5 marca 2012 37 / 37 Google Map Wyszukiwarki