Data ćwiczenia: 29.03.2017 Prowadzący: dr inż. Piotr Kurowski Przedmiot: Sieci komputerowe i bazy danych Wykonawca: Klaudia Gurbiel Kierunek: Inżynieria mechatroniczna Rok III, Semestr VI Laboratorium nr 4 - Badanie protokołów WWW 1
1 Wyszukać w zasobach sieci dokumenty [RFC 1945] oraz [RFC 2616]. Zapoznać się z ich zawartością. 2 Badanie działania protokołu http 2.1 uruchomić program putty 2.2 ustawić: connection type: raw Host name: mts.wibro.agh.edu.pl Port: 80 Close window on exit: newer Rysunek 1: Konfiguracja PuTTy. 2
2.3 w oknie putty wpisać polecenia żądania protokołu HTTP GET / snrindeks/ HTTP/1.1 nacisnąć ENTER Host: mts.wibro.agh.edu.pl nacisnąć 2xENTER 2.4 prześledzić i skomentować odpowiedź serwera Rysunek 2: Żądania protokołu i odpowiedź serwera. 3
2.5 sprawdzić i skomentować odpowiedzi serwera na: błędnie wpisany nagłówek Rysunek 3: Zły nagłówek. 4
niepoprawny adres strony Rysunek 4: Zły adres strony. niepoprawny adres hosta Rysunek 5: Zły adres hosta wpisany w okno konfiguracji PuTTy. 5
Rysunek 6: Zły adres hosta wpisany w okno terminala. Po wpisaniu złego hosta w okno terminala, strona została poprawnie wyświetlona. 6
3 Pod adresami: http://tools.pingdom.com/, http://test.watchscript.pl można znaleźć narzędzia do testowania szybkości pobierania stron www. Sprawdzić na kilku (co najmniej pięciu) przykładach dowolnych stron ich szybkość ładowania. Zaobserwuj jak zachowują się i jak są pobierane strony wyposażone w grafikę, arkusze CSS, dołączone skrypty, itp. Skomentuj wyniki obserwacji. Rysunek 7: agh.edu.pl http://tools.pingdom.com/ Rysunek 8: agh.edu.pl http://test.watchscript.pl 7
Rysunek 9: allegro.pl http://tools.pingdom.com/ Rysunek 10: allegro.pl http://test.watchscript.pl 8
Rysunek 11: facebook.com http://tools.pingdom.com/ Rysunek 12: facebook.com http://test.watchscript.pl 9
Rysunek 13: google.com http://tools.pingdom.com/ Rysunek 14: google.com http://test.watchscript.pl 10
Rysunek 15: wikipedia.pl http://tools.pingdom.com/ Rysunek 16: wikipedia.pl http://test.watchscript.pl Szybkość pobierania strony zależała w dużym stopniu od tego na której stronie ją sprawdzałam. Najszybciej ładowała się strona dla google.com,a najdłużej allegro.pl. 4 Zdefiniować pojęcie URL. Wymienić i wskazać na przykładach jego podstawowe składniki. URL (ang. Uniform Resource Locator) ujednolicony format adresowania zasobów.jest to po prostu adres internetowy. URL najczęściej kojarzony jest z adresami stron WWW, ale jest wykorzystywany do identyfikowania wszelkich zasobów dostępnych w Internecie.( nie tylko WWW). URL składa się z części określającej rodzaj zasobu/usługi (ang. scheme), dwukropka i części zależnej od rodzaju zasobu (ang. scheme-specific part). 11
5 Wyjaśnić co to znaczy że protokół HTTP jest bezstanowy. Jak objawia się jego bezstanowość w trakcie wykonywania punktu 2 (sprawdzić zachowanie putty ego po dokonaniu zmian Close window on exit: na Always). HTTP jest zaliczany do protokołów bezstanowych z racji tego, że nie przechowuje danych. Ani serwer ani klient nie przechowują informacji o tym, jakie były wcześniejsze zapytania pomiędzy określonym serwerem i klientem. Powoduje to, że każde zapytanie do serwera traktowane jest jako nowe, niemożliwe do powiązania z poprzednimi zapytaniami. Po zmianie Close Window z newer na always, już po wpisaniu pierwszej komendy GET / s279677/http/1.1, okno terminala wyłączyło się. Zapytanie to zostało uznane za zakończone. 6 Wyjaśnić termin pliki cookie oraz celowość ich użycia. Na przykładzie kilku stron zaobserwować czy i jak pliki cookies są używane. Zaobserwować jak zmienią się zachowania stron po wyłączeniu akceptacji plików cookie. Cookie (formalnie HTTP Cookie, w skrócie ang. cookie, tłumaczone czasem jako plik cookie) mały fragment tekstu, który serwis internetowy wysyła do przeglądarki i który przeglądarka wysyła z powrotem przy następnych wejściach na witrynę. Służy do obejścia bezstanowości http. 12
Rysunek 17: Zablokowanie plików cookie 13
Rysunek 18: facebook bez plików cookie Po zablokowaniu plików cookie nie mogłam zalogować się na facebooka. Podobnie nie mogłam się zalogować na konta na innych stronach. 7 Na bazie wybranych kryteriów wyszukiwania przetestować kilka (co najmniej 5 np: Google, DuckDuckGo, Bing, Yahoo, Ask) serwisów wyszukiwawczych. Skomentować poprawność zwracanych rezultatów, ilość trafień, szybkość działania. Porównać możliwości dodatkowe (np. wykorzystanie google jako kalkulatora, przelicznika walut itp). Po przetestowaniu 5 powyższych serwisów wyszukiwawczych stwierdzam, że wszystkie testowane przeze mnie frazy zwracają podobne wyniki. Google znajduje najwięcej rezultatów, jednak wbrew oczekiwaniom wcale nie działa najszybciej. Najwolniej na moim komputerze działało ask.com. Wszystkie poza duckduckgo oraz ask.com posiadają kalkulator obsługujący proste działania matematyczne. Poza ask.com wszystkie posiadają także przelicznik walut. 8 Skomentować celowość wykorzystania serwerów proxy. Serwery proxy umożliwiają łączenie się z światowymi zasobami internetu poprzez serwer pośredniczący - serwer pośredniczcy z ang. proxy. Serwer proxy nawiązuje połączenie w naszym imieniu i często pozwala na ukrycie naszego prawdziwego adresu IP. 14
9 Na bazie materiałów znalezionych w internecie porównać działanie protokołów HTTP oraz HTTPS [RFC 2818]. HTTPS (ang. Hypertext Transfer Protocol Secure) szyfrowana wersja protokołu HTTP, która szyfruje połączenie z wykorzystaniem protokołu SSL. Obecnie wykorzystuje się również protokół TLS będący rozwinięciem SSL. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych. W porównaniu do protokołu http, do https można mieć większe zaufanie 10 Na bazie materiałów dostępnych w sieci internet zapoznać się ze specyfikacją HTTP oraz CSS. http://www.w3schools.com/html, http://www.w3schools.com/css/ https://www.w3.org/tr/html5/ http://webmaster.helion.pl/) 15
11 Zmodyfikować swoją stronę internetową wprowadzając na niej różne elementy formatowania np: listy, tabele, formularze oraz nadać im różne formatowania za pomocą stylów CSS Rysunek 19: Edycja html 16
Rysunek 20: Strona html 17