Aplikacje w sieciach Internet/Intranet Arkadiusz Twardoń
Internet – kosmiczne początki Sputnik 1 (ros. "towarzysz podróży") był pierwszym sztucznym satelitą Ziemi. Wraz z 3 innymi satelitami serii Sputnik, był radzieckim wkładem w Międzynarodowy Rok Geofizyczny. Wyniesienie Sputnika 1 na orbitę stało się początkiem "Wyścigu w Kosmos" między ZSRR a USA. Obserwacje wizualne i radiowe Sputnika były prowadzone na całym świecie.
Dzieciństwo Internetu Problem:Problem: –W jaki sposób władze USA będą się komunikować po ataku jądrowym
Dzieciństwo Internetu Rozwiązanie:Rozwiązanie: –Sieć nie może być zarządzana centralnie. –Sieć powinna być zaprojektowana z myślą o pracy mimo uszkodzeń struktury sieci.
Dzieciństwo Internetu Wynik:Wynik: –Sieć połączyła najważniejsze centra komputerowe USA –Struktura sieci przypomina pajęczynę.
Młodość Internetu Sieć straciła charakter militarnySieć straciła charakter militarny Naukowcy zaczęli wykorzystywać sieć jako narzędzie do poszukiwania i wymiany informacji badawczych.Naukowcy zaczęli wykorzystywać sieć jako narzędzie do poszukiwania i wymiany informacji badawczych.
Składniki sieci In???net (ter/tra) Przeglądarka, TCP/IP, HTTP, serwer WWW
TCP/IP w pigułce każdy węzeł sieci ma unikalny adreskażdy węzeł sieci ma unikalny adres adres ma 32 bity podzielone na 2 częściadres ma 32 bity podzielone na 2 części –adres sieci –adres węzła
TCP/IP w pigułce klasy adresów IPklasy adresów IP –zależą od podziału znaczenia bitów w adresie –określają liczbę sieci i liczbę węzłów wewnątrz sieci –nnnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh - A –nnnnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh - B –nnnnnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh - C
Klasy adresów
Maska podsieci Pytanie:Pytanie: –Po co? Odpowiedź:Odpowiedź: –Zminimalizowanie ruchu w sieci. –Identyfikacja węzłów z innych podsieci
Maska podsieci Wyjaśnienie:Wyjaśnienie: –mój adres i moja maska (150 i 224) – – –
Maska podsieci Wyjaśnienie:Wyjaśnienie: –inny adres i moja maska (160 i 224) – – –
Maska podsieci Wyjaśnienie:Wyjaśnienie: –wynik porównania – – WniosekWniosek –adres z innej sieci przekazać do rutera
Parametry węzła Podstawowe:Podstawowe: –adres IP –maska podsieci –adres gatewaya DodatkoweDodatkowe –adres symboliczny –nazwa domeny –adres serwera nazw
Koniec o TCP/IP
Model sieciowy TCP/IP HTTP HTML
Komunikacja klient serwer WWW David GOURLEY, Brian TOTTY, Marjorie SAYER, Sailu REDDY, Anshu AGGARWAL; HTTP: The Definitive Guide
Komunikaty protokołu HTTP - budowa Linia początkowa (ang. Start line) – pierwsza linia komunikatu wskazuje na rodzaj operacji – inaczej polecenie protokołu HTTP; Pola nagłówkowe (ang. Header fields) – pola nagłówkowe, o ile występują, zawierają w każdej linii tekstu parę nazwa:wartość. Nagłówek kończy pusty wiersz; Treść komunikatu (ang. Body) – treść komunikatu oddzielona jest od pól nagłówka jednym pustym wierszem. Może zawierać dane dowolnego typu.
Komunikaty typu żądanie Komunikaty typu żądanie zbudowane są wg następującego schematu Budowa syntaktycznaKomentarz Linia początkowa Pola nagłówkowe Pusty wiersz kończący pola nagłówkowe Treść komunikatu np. HTML, jpg itp.
Linia początkowa - określa polecenie, jakie ma zostać zrealizowane przez serwer WWW. Lista najpopularniejszych poleceń: –GET - Pobierz dokument z serwera –HEAD - Pobierz z serwera tylko nagłówek dokumentu –POST - Wyślij dane do serwera w celu przetworzenia –PUT - Umieść dokument na serwerze –OPTIONS - Sprawdź jakie metody obsługiwane są przez serwer –DELETE - Usuń dokument z serwera
Linia początkowa - określa położenie dokumentu na którym ma zostać wykonana operacja określona przez pole. URL zbudowany jest wg syntaktyki: :// : / ; ? # W większości wypadków w treści URL występują tylko niezbędne elementy, takie jak, i.
Linia początkowa - numer wersji protokołu HTTP podawana w formacie: HTTP/..
Pola nagłówkowe Pola nagłówkowe typu żądanie dostarczają informacji o nadawcy żądania. W skład takiego zestawu informacji mogą wchodzić: –dane o samym nadawcy, –miejscu wygenerowania żądania, –możliwościach i preferencjach wystawcy żądania lub oprogramowania, którym się posługuje itp.
Pola nagłówkowe Biorąc pod uwagę przeznaczenie pól nagłówkowych, występujących w komunikatach typu żądanie, można wśród nich wyróżnić: –pola informacyjne – pola te zawierają informacje o nadawcy żądania.; –pola zawierające informacje o parametrach akceptowalnych przez oprogramowanie użytkownika; –pola warunkowe – pozwalają narzucić warunki w jakich odpowiedź może zostać wygenerowana i odesłana przez serwer WWW; –pola dotyczące bezpieczeństwa – zawierają informacje na temat tożsamości użytkownika generujące żądanie. Odpowiedź może być odesłana tylko o ile tak określona tożsamość posiada wystarczający zestaw uprawnień do wykonania żądanej operacji; –pola dotyczące serwerów pośredniczących (ang. Proxy servers);
Treść komunikatu - treść komunikatu. Treść nie musi występować we wszystkich komunikatach. Komunikaty zbudowane tylko z linii początkowej i pól nagłówkowych kończy pusty wiersz.
Komunikaty typu odpowiedź Komunikaty typu odpowiedź zbudowane są wg następującego schematu Budowa syntaktycznaKomentarz Linia początkowa Pola nagłówkowe Pusty wiersz kończący pola nagłówkowe Treść komunikatu np. HTML, jpg itp.
Linia początkowa Znaczenie kolejnych elementów: - liczba trzy-cyfrowa określająca wynik realizacji żądania. Pierwsza cyfra określa klasę wyniku (sukces, porażka itp). Zakresy zdefiniowanych statusów realizacji żądania: – ( ) Informacyjne – ( ) Sukces – ( ) Przekierowanie żądania – ( ) Błąd klienta – ( ) Błąd serwera
Linia początkowa - opis statusu realizacji żądania w postaci tekstowej, czytelnej zrozumiałej dla człowieka. Opis kończy znak nowego wiersza. Zwykle najbardziej pożądaną wartością linii startowej komunikatu typu odpowiedź jest tekst HTTP/ OK. Przykładowe wartości i znaczenie pola przyczyna:
Linia początkowa StatusPrzyczynaZnaczenie 200OKSukces. Żądane dane zostały wysłane do klienta jako treść komunikatu. 401UnauthorizedDostęp do zasobu wymaga podania nazwy konta i hasła. 404Not FoundNie odnaleziono zasobu pod podaną ścieżką.
Pola nagłówkowe typu odpowiedź Komunikaty typu odpowiedź posługują się własnym zestawem pól nagłówkowych. Pozwalają one przesłać użytkownikowi dodatkowe informacje o nadawcy (serwerze WWW), jego możliwościach lub sugestiach właściwego przetwarzania odpowiedzi. Biorąc pod uwagę przeznaczenie pól nagłówkowych w komunikatach typu odpowiedź można wśród nich wyróżnić: –pola informacyjne – pola te zawierają informacje o nadawcy odpowiedzi; –Pola negocjacyjne – pola te pozwalają uzgodnić wersję (np. językową) dokumentu, jaka ma zostać odesłana do użytkownika; –Pola bezpieczeństwa – uzupełniają pola opisane;
Treść komunikatu - treść komunikatu. Zwykle treść komunikatu stanowi zawartość dokumentu HTML lub jego elementu składowego takiego jak grafika jpg, gif itp. Treść nie musi występować we wszystkich komunikatach. Komunikaty zbudowane tylko z linii początkowej i pól nagłówkowych kończy pusty wiersz.
Pola nagłówkowe. Specyfikacja protokołu HTTP przewiduje możliwość wystąpienia w komunikacie wielu pól nagłówkowych. Pola, jakie mogą wystąpić w nagłówku komunikatu mogą być polami o znaczeniu predefiniowanym przez specyfikacje HTTP lub zdefiniowanymi przez aplikację obsługiwaną przez serwer. Każde pole nagłówkowe posiada bardzo prostą syntaktykę: :
Pola nagówkowe Ze względu na ilość i rodzaj pól nagłówkowych wprowadzono podział na: –Pola nagłówkowe typu żądanie –Pola nagłówkowe typu odpowiedź –Ogólne pola nagłówkowe – mogą wystąpić zarówno w komunikatach typu żądanie jak i w komunikatach typu odpowiedź –Pola nagłówkowe dotyczące zawartości – zawierają informacje takie jak: rozmiar danych, typ zawartości itp. –Pola nagłówkowe rozszerzające funkcjonalność – pola, które nie są zdefiniowane w specyfikacji.
Działanie serwera WWW Serwer WWW niezależnie od stopnia zaawansowania technologicznego musi wykonywać pewne podstawowe kroki w celu prawidłowego zaimplementowania obsługi protokołu HTTP. Do kroków tych należy: –Nawiązanie połączenia z aplikacją klienta; –Odebranie żądania; –Przetworzenie żądania; –Dostęp do zasobów wymienionych w żądaniu; –Skonstruowanie odpowiedzi; –Wysłanie odpowiedzi; –Zapisanie informacji o wykonanej transakcji do dziennika zdarzeń.
Dostęp do zasobów wymienionych w żądaniu
I to by było na tyle za tydzień:za tydzień: XML
Dziękuję za uwagę