Adresy URL. Zaawansowane technologie Javy 2019

Podobne dokumenty
Java programowanie sieciowe

Programowanie współbieżne i rozproszone

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

MODEL WARSTWOWY PROTOKOŁY TCP/IP

URL. Budowa URL (ang. Uniform Resource Locator): working#downloading

Protokoły sieciowe - TCP/IP

Podstawowe pojł cia. Czego sił nauczymy? Pojł cia hosta. Hosty Adresowanie Internetowe Porty Protokoóy

Model sieci OSI, protokoły sieciowe, adresy IP

Java a dost p do Internetu.

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Platformy Programistyczne Zagadnienia sieciowe i wątki

Networking. Zaawansowane technologie Javy 2019

Warstwy i funkcje modelu ISO/OSI

Przesyłania danych przez protokół TCP/IP

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

JAVA I SIECI. MATERIAŁY:

Bazy Danych i Usługi Sieciowe

Komunikacja z użyciem gniazd aplikacje klient-serwer

Wybrane działy Informatyki Stosowanej

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

Java programowanie w sieci. java.net RMI

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Programowanie rozproszone w języku Java

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Adres IP

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Przykłady interfejsu TCP i UDP w Javie

KOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

K O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Programowanie Sieciowe 1

Adresy w sieciach komputerowych

Dr Michał Tanaś(

Programowanie w języku Java

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

ZiMSK NAT, PAT, ACL 1

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Sieci komputerowe - Protokoły warstwy transportowej

Zadania z sieci Rozwiązanie

Sieci komputerowe - administracja

Dr Michał Tanaś(

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

Programowanie sieciowe

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Co w sieci piszczy? Programowanie aplikacji sieciowych w C#

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

Sieci Komputerowe Modele warstwowe sieci

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Protokoły internetowe

Obiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez:

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

Protokoły wspomagające. Mikołaj Leszczuk

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 14 Protokoły sieciowe

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

To systemy połączonych komputerów zdolnych do wzajemnego przesyłania informacji, do dzielenia się zasobami, udostępniania tzw.

Zarządzanie systemami informatycznymi. Protokoły warstw aplikacji i sieci TCP/IP

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Podstawy działania sieci komputerowych

Zadanie 2: transakcyjny protokół SKJ (2015)

(źródło: pl.wikipedia.pl) (źródło:

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Sieci komputerowe Wykład dla studentów Informatyki Stosowanej studia niestacjonarne

Rok akademicki: 2012/2013 Kod: ITE s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PROTOKOŁY WARSTWY TRANSPORTOWEJ

Sieci komputerowe. Wstęp

pasja-informatyki.pl

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

SIECI KOMPUTEROWE. Podstawowe wiadomości

Wykład VI. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Kurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016

SIECI KOMPUTEROWE Adresowanie IP

Technologie informacyjne - wykład 8 -

Sieci komputerowe - warstwa transportowa

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Test sprawdzający wiadomości z przedmiotu Systemy operacyjne i sieci komputerowe.

E.13.1 Projektowanie i wykonywanie lokalnej sieci komputerowej / Piotr Malak, Michał Szymczak. Warszawa, Spis treści

Moduł 11.Warstwa transportowa i aplikacji Zadaniem warstwy transportowej TCP/IP jest, jak sugeruje jej nazwa, transport danych pomiędzy aplikacjami

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Systemy Operacyjne i Sieci Komputerowe Adres MAC 00-0A-E6-3E-FD-E1

Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1. Model klient-serwer

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

1. W protokole http w ogólnym przypadku elementy odpowiedzi mają: a) Postać tekstu b) Postać HTML c) Zarówno a i b 2. W usłudze DNS odpowiedź

T: Konfiguracja interfejsu sieciowego. Odwzorowanie nazwy na adres.

Transkrypt:

Adresy URL Zaawansowane technologie Javy 2019

Podstawowe pojęcia dotyczące sieci Sieć to zbiór komputerów i innych urządzeń, które mogą się ze sobą komunikować w czasie rzeczywistym za pomocą transmisji danych. Urządzenia w sieci są ze sobą połączone (kablami, światłowodami, urządzeniami bezprzewodowymi). Każda maszyna (komputery, rutery, drukarki, terminale, itp) znajdująca się w sieci nazywa się węzłem. Węzły, które są w pełni funkcjonalnymi komputerami nazywane są hostami. Każdy węzeł w sieci ma swój adres.

Podstawowe pojęcia dotyczące sieci Wszystkie współczesne sieci komputerowe są sieciami komutacji pakietów. Każdy pakiet oprócz fragmentu danych zawiera informację o tym kto i dokąd go wysłał. Zestaw reguł według których komputery i urządzenia komunikują się ze sobą nazywa się protokołem.

Warstwy sieci Przesyłanie danych przez sieć to skomplikowana operacja: warstwa aplikacji warstwa transportowa (TCP/UDP) warstwa internetowa (IP) ścieżka logiczna ścieżka fizyczna warstwa łącza warstwa aplikacji warstwa transportowa (TCP/UDP) warstwa internetowa (IP)

Warstwy sieci Warstwa łącza definiuje konkretny interfejs sieciowy (karta ethernetowa czy łącze PPP) i przesyła datagramy IP fizycznym łączem (do sieci lokalnej i w świat) Java nie ma dostępu do tej warstwy. Warstwa internetowa odpowiada za grupowanie danych w pakiety oraz za schemat adresowania, w którym różne maszyny mogą się odnaleźć Java zna tylko protokół IP dla tej warstwy (jest on najpowszechniej stosowany).

Warstwy sieci Warstwa transportowa odpowiada za to, aby pakiety były odbierane w tej samej kolejności w jakiej zostały wysłane, oraz aby żaden z nich nie został uszkodzony ani zagubiony Java umie obsłużyć dwa protokoły tej warstwy: TCP (ang. Transmission Control Protocol) niezawodny, UDP (ang. User Datagram Protocol) zawodny ale szybki. Warstwa aplikacji dostarcza dane użutkownikowi znane protokoły tej warstwy to HTTP, SMTP, POP, IMAP, FTP, NFS, NNTP oraz wiele innych.

Adresy IP Protokół Internetu IP jest niezależny od platformy, automatycznie wyznacza trasę rutingu. Każdy komputer w sieci IP jest identyfikowany za pomocą swojego unikatowego 32-bitowego (IPv4) albo 128- bitowego (IPv6) adresu. DNS (ang. Domain Name System) to usługa, która tłumaczy nazwy mnemoniczne adresów na nazwy liczbowe. Pakiety, które przychodzą do określonego hosta mogą trafiać do różnych aplikacji czy serwisów dzięki portom. Jest ich 65535 dla protokołów TCP i UDP (porty o numerach 1-1023 są zarezerwowane dla usług standardowych).

Adresy IP W pakiecie java.net jest zdefiniowana klasa InetAddress, która reprezentuje adres IP. Klasa InetAddress ma dwie podklasy Inet4Address i Inet6Address reprezentujące odpowiednio adresy protokułu internetowego w standardach IPv4 i IPv6. Klasa ta jest wykorzystywana przez inne klasy sieciowe: URL, Socket, ServerSocket, DatagramSocket, DatagramPacket.

Adresy IP Klasa InetAddress pozwala tworzyć obiekty tych klas za pomocą metod statycznych: getbyaddress (byte[] addr) getbyname (String host) getlocalhost () Z obiektu InetAddress można wydobyć szczegółowe informacje o adresie IP za pomocą metod: gethostaddress () gethostname () getcanonicalhostname () tostring () isanylocaladdress () isreachable (int timeout)

Przykład BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.err.print("Nazwa hosta: "); String host = stdin.readline().trim(); try { InetAddress address = InetAddress.getByName(host); System.out.println(address); } catch (UnknownHostException ex) { System.out.println( "Nie można zlokalizować hosta " + host + "!"); }

Adres URL URL (ang. Uniform Resource Locator) to referencja do zasobu w Internecie. URL składa się z nazwy protokołu i nazwy zasobu, na przykład: http://www.oracle.com/index.html Nazwa zasobu może składać się z nazwy hosta, ścieżki, pliku, portu, referencji i zapytania.

Klasa URL Klasa URL reprezentuje adres URL w sieci WWW. Obiekt URL można utworzyć na kilka sposobów: new URL (String spec) new URL (String prot, String host, String file) new URL (String prot, String host, int port, String file) new URL (URL context, String spec) Podczas tworzenia obiektu URL może zostać zgłoszony wyjątek MalformedULRException.

Klasa URL Klasa URL udostępnia wiele metod odczytywania parametrów adresu URL: getprotocol () gethost () getport () getpath () getquery () getref () W klasie URL istnieje metoda, która potrafi nawiązać połączenie z podanym zasobem w sieci i otworzyć dla niego strumień do czytania: InputStream openstream ()

Przykład URL url = new URL(URLName); BufferedReader in = new BufferedReader( new InputStreamReader(url.openStream())); String line; while ((line=in.readline())!= null) { System.out.println(line); } in.close();

Klasa URLConnection Klasa URLConnection ma zapewnić łatwiejszą w użyciu, wysokopoziomową abstrakcję połączenia sieciowego. Klasa URLConnection wykorzystuje klasę Socket do zapewnienia łączności sieciowej. Klasa URLConnection jest mocno związana z protokołem HTTP i zakłada, że każdy przesyłany plik jest poprzedzony nagłówkiem MIME.

Klasa URLConnection Otwieranie połączeń URLConnection: // konstrukcja URL URL url = new URL("http:// "); // pozyskanie URLConnection URLConnection uc = url.openconnection(); // konfiguracja URLConnection // odczytanie pól nagłówka // pobranie strumienia wejściowego // pobranie strumienia wyjściowego // zamknięcie połączenia

Klasa URLConnection Czytanie danych: URL url = new URL("http:// "); URLConnection uc = url.openconnection(); InputStream is = uc.getinputstream(); Pisanie danych: URL url = new URL("http:// "); URLConnection uc = url.openconnection(); uc.setdooutput(); InputStream is = uc.getinputstream(); OutputStream os = uc.getoutputstream();

Klasa URLConnection Serwery HTTP dostarczają sporo informacji w nagłówkach MIME. Klasa URLConnection posiada kilka metod do odczytywania najważniejszych informacji z nagłówka MIME: getcontenttype() getcontentlength() getcontentencoding() getdate() getexpiration() getlastmodified() Klasa URLConnection posiada też kilka ogólnych metod do odczytywania informacji z nagłówka MIME: getheaderfieldkey(int) getheaderfield(int) getheaderfield(string)

Klasa URLConnection Klasa URLConnection może konfigurować połączenie za pomocą metod: setdoinput(boolean) setdooutput(boolean) setallowuserinteraction(boolean) setusecaches(boolean) setifmodifiedsince(long) Klasa URLConnection może pobrać treść (obiekt Object) metodą getcontent(). Klasa HttpURLConnection jest podklasą URLConnection zawiera pewne dodatkowe metody przydatne do pracy z adresami URL typu http.

Literatura E.R.Harold: Java. Programowanie sieciowe. Wydawnictwo RM, Warszawa 2001. C.S.Horstmann, G.Cornell: Java techniki zaawansowane. Wydanie 9. Rozdział 3: Programowanie aplikacji sieciowych. Wydawnictwo HELION, Gliwice 2013. Custom Networking (Java Tutorial): https://docs.oracle.com/javase/ tutorial/networking/