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

Podobne dokumenty
I.Wojnicki, Tech.Inter.

I.Wojnicki, Tech.Inter.

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4 Wojciech Kaczmarski

Sprawozdanie Sieci komputerowe i bazy danych Laboratorium nr 4

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

Programowanie w Internecie

Technologie internetowe

Języki programowania wysokiego poziomu WWW

Programowanie Sieciowe 2 Protokoły komunikacyjne: HTTP

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

Ź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

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

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


1. Model klient-serwer

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

Technologie Internetu. Protokół HTTP. Aleksander Denisiuk.

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

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

Dokument hipertekstowy

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

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

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

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

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

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Specyfikacja techniczna. mprofi Interfejs API

Programowanie w Internecie

Architektura aplikacji sieciowych. Architektura klient-serwer

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

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

Wybrane działy Informatyki Stosowanej

Laboratorium nr 4 - Badanie protokołów WWW

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

XML-RPC: Zdalne wykonywanie procedur

Serwery WWW. Konfiguracja. Zadania serwera. NCSA httpd 1.5

Aplikacje WWW Wprowadzenie

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

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

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

Tomasz Greszata - Koszalin

Lab5 - Badanie protokołów pocztowych

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

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

Zaawansowany kurs języka Python

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

Sieciowe systemy informacyjne

Wprowadzenie do programowania www

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

I.Wojnicki, Tech.Inter.

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

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

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

Sieci komputerowe i bazy danych

Sprawozdanie Laboratorium 4

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

Specyfikacja HTTP API. Wersja 1.6

HTTP. literatura:

Bazy Danych i Usługi Sieciowe

OpenLaszlo. OpenLaszlo

Testy penetracyjne Przykłady programów

Programowanie i projektowanie obiektowe

Zaawansowany kurs języka Python

Aplikacje Internetowe termin dodatkowy

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

TIN Techniki Internetowe zima

Tomasz Greszata - Koszalin

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

Rozproszone systemy Internetowe

Ministerstwo Finansów

Programowanie Komponentowe WebAPI

Wprowadzenie SYSTEMY SIECIOWE. Michał Simiński

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Przykład usługi internetowej

Sprawozdanie nr 4. Ewa Wojtanowska

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

Programowanie internetowe

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

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

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

Kurs WWW. Paweł Rajba

Wybrane działy Informatyki Stosowanej

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

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

Stos TCP/IP. Warstwa aplikacji cz.2

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

FTP File Transfer Protocol

Ministerstwo Finansów

Protokoły Internetowe

I.Wojnicki, Tech.Inter.

Laboratorium 1 Wprowadzenie do PHP

Akademia Górniczo-Hutnicza im. Stanisława Staszica

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Zadanie programistyczne nr 3 z Sieci komputerowych

Bramka płatnicza. Dokumentacja techniczna. wersja 1.0

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Transkrypt:

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 1 / 37 Języki i Technologie Webowe Protokół HTTP, Przegladarki Igor Wojnicki Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie 16 października 2013

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 2 / 37 Spis Treści 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Protokół HTTP Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 3 / 37 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 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.

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 5 / 37 Podstawy HTTP Protokół 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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

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), Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 8 / 37

Protokół HTTP Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 9 / 37 Protokół HTTP: Nagłówki Klient: From: zwykle email User-Agent: identyfikacja klienta: Nazwa/Wersja Host: HTTP 1.1 Serwer: 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 15 / 37 Przykład: GET II Protokół HTTP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML>... </HTML>

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 23 / 37 1 Protokół HTTP 2 Klient HTTP: Przegladarka 3 Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 24 / 37 Klient HTTP: Przegladarka 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 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) Języki i Technologie Webowe 16 października 2013 31 / 37

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 32 / 37 Google Wyszukiwarki Potentat na rynku. 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) Języki i Technologie Webowe 16 października 2013 33 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 34 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 35 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 36 / 37 Google Map Wyszukiwarki

Igor Wojnicki (AGH, KA) Języki i Technologie Webowe 16 października 2013 37 / 37 Google Map Wyszukiwarki