SPRAWOZDANIE SIECI KOMPUTEROWE I BAZY DANYCH LABORATORIUM NR 4 BADANIE PROTOKOŁÓW HTTP KAMIL BOGDANOWSKI 292481 27.03.2019
1. Wyszukać w zasobach sieci dokumenty [RFC 1945] oraz [RFC 2616]. Zapoznać się z ich zawartością. 2. Badanie działania protokołu http 1. uruchomić program putty 2. ustawić: connection type: raw Host name: mts.wibro.agh.edu.pl Port: 80 Close window on exit: newer o o o w oknie putty wpisać polecenia żądania protokołu HTTP GET /~snrindeks/ HTTP/1.1 nacisnąć ENTER Host: mts.wibro.agh.edu.pl nacisnąć 2Xenter prześledzić i skomentować odpowiedź serwera sprawdzić i skomentować odpowiedzi serwera na: błędnie wpisany nagłówek niepoprawny adres strony niepoprawny adres hosta Po wykonaniu powyższych kroków, podczas wykonywania dwóch pierwszych z nich, sieć nie uzyskała poprawnego połączenia. Dla sytuacji z błędnie wpisanym nagłówkiem na konsoli pojawiła się informacja o zaistniałym błędzie błąd 403, który oznacza odmowe dostępu. Dla sytuacji z niepoprawnie wpisanym adresem strony otrzymujemy błąd 404, którego pojawienie informuje nas o braku występowania takiego adresu strony. W ostatniej sytuacji, gdzie dokonany został błąd podczas wpisania adresu hosta, mimo to połączyliśmy się z interesującą nas stroną. Proces ten zakończył się powodzeniem, z racji tego, że w interfejsie puttego zaimplementowaliśmy pewnego rodzaju nadrzędny adres hosta, który obowiązuje podczas całej pracy obecnej sesji. Wyniki z zadania drugiego zadania przedstawione zostały poniżej
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
Przykład dla strony z grafikami oraz css em
Przykład dla strony tylko z grafikami
Przykład dla strony z dużą ilością różnych elementów
Przykład dla strony z dużą ilością różnych elementów
Przykład dla strony z dużą ilością różnych elementów
Analizując powyższe przykłady możemy stwierdzić, że strony o małej ilości elementów ładują się znacznie szybciej niż te o dużych zasobach. Zestawienie stron przedstawione jest poniżej: NAZWA STRONY CZAS ŁADOWANIA ROZMIAR ILOŚĆ ŻĄDAŃ http://149.156.115.209/~s292481/ 258 ms 861.9 KB 5 http://149.156.115.209/~s292483/ 202 ms 225.7 KB 3 https://www.ebay.co.uk/ 2.06 s 2.6 MB 133 https://krosno24.pl/ 929 ms 1.8 MB 78 https://www.agh.edu.pl/ 1.2 s 336.5 KB 58 Od razu widać różnice pomiędzy stronami o małej złożoności, a tymi o prostej budowie. Rożnica ta ma się jednak odpowiednio do rozmiaru tej strony. Jeśli chodzi o zróżnicowanie podczas pobieranie różnych elementów danej strony to wyniki mamy różne czasami najdlużej pobierane jest zdjęcie, a czasami ładowanie samego html.
4. Zdefiniować pojęcie URL. Wymienić i wskazać na przykładach jego podstawowe składniki. Podać w jaki sposób odnieść się do: o grafiki umieszczonej na stronie o odnieść się do wybranego elementu (zakładki) na stronie o odnieść się do programu pocztowego. URL (Uniform Resource Locator) oznacza ujednolicony format adresowania (określania lokalizacji) zasobów (informacji, danych, usług) stosowany w Internecie i sieciach lokalnych. Dla prostego adresu URL jego budowa wygląda tak: http://www.wikipedia.org/wiki/url \ / \ /\ / protokół host ścieżka (adres serwera) do zasobu Dla złożonego adresu URL jego budowa wygląda tak: http://hans:geheim@www.example.org:8080/demo/example.cgi?land=de&stadt=aa \ / \ / \ / \ / \ /\ / \ / login host port ścieżka ścieżka protokół hasło (adres serwera) do zasobu wyszukiwania W celu odniesienia się do grafiki: http://149.156.115.209/~s292481/1.jpg W celu odniesienia się do wybranego elementu bądź zakładki: http://149.156.115.209/~s292481/ W celu odniesienia się do programu pocztowego: mailto:[adresy][odwołania do elementów nagłówka lub tekstu] np. mailto:bogus824@gmail.com
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). Bezstanowość protokołu http oznacza, iż ani serwer ani osoba użytkująca go, nie przechowuje żadnych informacji o tym, jakie w przeszłości występowały zapytania pomiędzy danym serwerem a użytkownikiem. Brak również posiadania stanu wewnętrznego. Każde zapytanie w serwerze jest nowym zapytaniem po każdym zapytaniu serwer tak jakby daje nam czystą kartę. Po zmianie na always putty po utracie połączenia z serwerem zamyka się. 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. Są to informacje o małym rozmiarze wysyłane przez dany serwis internetowy do naszego komputera bądź jednostki, z której korzystamy po to ażeby zapisać na nim preferencje użytkownika odnośnie danej strony bądź personalizacje pod kątem wyświetlanych materiałów dopasowywanie reklam. Wyłączenie plików cookies powoduje utrudnienia logowania oraz przeglądania stron, na których ażeby przeczytać zawartość wymagane jest logowanie
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). Pierwszym kryterium było kryterium odnośnie zakupu nowego komputera: Serwis google pokazał za równo oferty dotyczące komputerów jak i informacje z okolicznych sklepów odnośnie dodatków do niego. Co więcej pokazana została również mapa z najbliższymi sklepami komputerowymi. Liczba wyników to 74 300 000. Serwis Bing pokazał tylko oferty dotyczące komputerów. Liczba wyników 562 000 Serwis Yahoo pokazał tylko oferty dotyczące komputerów. Serwis Ask pokazał oferty dotyczące komputerów wraz z ofertami randomowych firm. Serwis DuckDuckGo pokazał tylko oferty odnośnie sprzedaży komputerów. Google spisało się najlepiej największa liczba rezultatów w bardzo szybkim czasie 0.36s wyniki dotyczą konkretnie postawionego kryterium Drugim kryterium będzie znalezienie kuchni włoskiej w okolicy Serwis google pokazał mnóstwo ofert 17 600 000 ofert. Znów pokazała się mapa z najbliższymi oraz informacja o ocenach danej restauracji. Czas wyszukania 0.58s. Wyszukiwania dotyczą tylko restauracji z Krakowa. Serwis bing pokazal tylko 558 000 informacji, z których niestety część nie dotyczy Krakowa tylko ogólnie restauracji włoskiej. Nie ma mapy ani oceny danej restauracji. Serwis Yahoo w pierwszych swoich wynikach nie pokazał restauracji z Krakowa. Brak informacji o ilości wyników i czasie. Serwis DuckDuckGo pokazał mapę oraz oceny danej restauracji na bazie bazy danych przypuszczalnie użytkowników smartfonów marki apple. Brak informacji o ilości wyników i czasie wyszukania. Serwis Ask.com wyszukuje informacje na temat każdej z fraz oddzielnie tzn. pojawiają się oferty odnośnie restauracji, odnośnie kuchni design, ale są również oferty odnośnie kuchni włoskiej Serwis Google znów wykazał się najlepszą sprawnością i efektem wyszukiwania
W kwestii dodatkowych możliwości po wpisaniu 3 euro w wyszukiwarce, serwisy takie jak google, yahoo oraz duckduckgo pokazały jedynie funkcje przelicznika walut online. W kwestii kalkulatora jedynie wynik uzyskaliśmy z poziomu wyszukiwarki w serwisach takich jak google,bing oraz duckduckgo. 8. Skomentować celowość wykorzystania serwerów proxy. Serwer proxy to innymi słowy serwery pośredniczące w wymianie danych pomiędzy komputerem a serwerem. Dane te najczęściej pobierane są przez protokoły http bądź ftp Głównym zadaniem serwerów proxy jest szybszy dostęp do stron www. Ważnym aspektem jest również to jak wpływają na czas pobierania plików przez ftp czas ulega skróceniu. Co więcej serwery proxy są elementem, który zapewnia oszczędniejsze wykorzystanie łącza 9. Na bazie materiałów znalezionych w internecie porównać działanie protokołów HTTP oraz HTTPS [RFC 2818]. Różnica w działaniu protokołu http a https jest ogromna. Ich działanie różni się głównie na płaszczyźnie bezpieczeństwa przesyłu danych. Protokół https jest protokołem szyfrowanym, a więc protokołem podczas, którego mamy znacznie mniejszą szanse na przechwycenie przesyłanych danych przez niepożądane osoby. Ważnym aspektem jest również to, za pomocą którego portu następuje przesył danych. Dla protokołu http jest to port 80, natomiast dla portu https jest ten o numerem 443 10. Na bazie materiałów dostępnych w sieci internet (np: 1. http://www.w3schools.com/html, 2. http://www.w3schools.com/css/ 3. https://www.w3.org/tr/html5/ 4. http://webmaster.helion.pl/) zapoznać się ze specyfikacją HTTP oraz CSS. 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 http://149.156.115.209/~s292481/