Raport z laboratorium nr 4


1. Dokumenty RFC opisują działanie poszczególnych protokołów:
  1. RFC 1945: HTTP 1.0
  2. RFC 2616: HTTP 1.1
  3. RFC 7540: HTTP/2
2. Serwer przy poprawnym wpisaniu danych zwraca komunikat 200 OK (wykonano poprawnie), datę, datę ostatniej aktualizacji
strony, wielkość treści (content-length), a ponadto cały kod strony.
Przy wpisaniu złej nazwy strony (np niepoprawny nr indexu) serwer zwraca błąd 404 Not Found.
Przy wpisaniu złej nazwy hosta serwer zwraca dane jak przy poprawnym wpisaniu
Przy wpisaniu błędnego nagłówka serwer zwraca błąd 400 Bad Request

3. Strona po wpisaniu strony której szybkość ładowania chcemy zbadać oddaje dane dotyczące szybkości ładowania poszczególnych elementów.
Większość stron wyświetla podobne wartości (np Amazon w porównaniu z interią ma zerowy CLS, natomiast Interia ma 0,09). Jednak strony takie jak youtube.com, czy twitter.com uzyskały
znacznie gorsze wyniki (zwłaszcza LCP - dla Twittera 8,6s - INP czy CLS). Strony wyposażone w grafiki, arkusze CSS i dołączone
skrypty wykazują się gorszymi wynikami.

4. URL – Jest to adres internetowy przypisany określonemu zasobowi sieci. Składa się z protokułu (np. HTTPS), adresu IP lub domeny
serwera oraz ścieżki wskazującej miejsce na serwerze gdzie znajduje się dany zasób.
Aby odnieść się do grafiki wystarczy po ścieżce napisać nazwę pliku np. http://www.przyklad.com/obraz/obraz.png
Przy odnoszeniu się do zakładki piszemy podobnie jak w przypadku obrazu z tą różnicą, że na końcu ścieżki piszemy “#zakladka”
W przypadku programu poctowego URL może wskazywać na konkretne akcje np. mailto:AdresMailowy otworzy domyślny program pocztowy użytkownika i wypełni pole adresowe podanym mailem.

5. Protokół HTTP jest bezstanowy, kiedy nie zapamiętuje żadnych informacji z wcześniejszych zapytań, czyli każde żądanie rozpatruje indywidualnie.
Przy wykonywaniu punktu 2 ze zmianą "Close window on exit" na "Always" po wysłaniu żądania, putty odsyła dane i zamyka się po chwili.
Oznacza to, że sesja zostaje zakończona tuż po odesłaniu komunikatu.

7. Polecenie curl -I https://mts.wibro.agh.edu.pl/ wyświetla datę, serwer i inne dane: Set-Cookie, Cache-Control czy Content-Type.

8. Pliki cookie (tzw. “ciasteczka”) są małymi plikami tekstowymi przechowywanymi przez przeglądarkę na urządzeniu użytkownika. Są one tworzone przez
serwer internetowy, który użytkownik odwiedza i przechowują informacje o użytkowniku, jego preferencjach czy aktywności na stronie.
Różne strony po zablokowaniu akceptacji na pliki cookie mogą przestać “pamiętać” dane logowania użytkownika, albo wyświetlać treści związane z jego preferencjami.

9. Po wpisaniu "AGH" w wyszukiwarce:
Google: 38000000 wyników w 0,3s – poprawne, szybki (podany przez przeglądarkę) czas działania
Bing: 221000 wyników - poprawne, szybki czas działania
Yahoo: 232000 wyników, w większości niepoprawne
Ask: 32000000, w ogóle nie trafne wyniki, jednak szybki czas działania
DuckDuckGo: nie wyświetla liczby wyników, są one jednak w większości trafne
Zarówno Google jak i DuckDuckGo posiadają swoje własne kalkulatory, jednak pod względem tego typu funkcjonalności Google przewyższa wszystkie inne przeglądarki.
Dodatkowo Ask, Yahoo czy Bing są (na swoich stronach głównych) pełne różnego rodzaju informacji, nowinek, reklam
co może zniechęcać do korzystania.

10. Serwer proxy pośredniczy między klientem, a serwerem “w imieniu” użytkownika.
Głównym celem wykorzystania proxy jest zwiększona anonimowość. Proxy pozwala na ukrycie adresu IP użytkownika. Dodatkowo blokuje możliwość monitorowania aktywności
użytkownika przez różne strony co może ograniczyć wszelakie reklamy.

11. Główne różnice między HTTP i HTTPS dotyczą bezpieczeństwa. HTTP, w przeciwieństwie do HTTPS nie posiada żadnych zabezpieczeń czy szyfrowania. Dodatkowo
nie wymaga on certyfikatów SSL/TLS, które potwierdzają tożsamość serwera zapewniając dodatkowe bezpieczeństwo.
Ponadto HTTP korzysta domyślnie z portu 80, a HTTPS z portu 443.