Podstawy usług sieciowych - ćwiczenia 2

Spis treści

Ilość punktów do zdobycia: 10

Porady

Zapytania HTTP w terminalu

Aby wykonać zapytanie HTTP w terminalu mając pełną kontrolę nad wysyłanymi danymi, możesz przygotować sobie treść zapytania w pliku request.txt:

GET /sciezka/do/pliku HTTP/1.1
Host: www.wp.pl


(te dwie puste linijki na końcu pliku są istotne!)

Następnie wykonaj komendę:

cat request.txt | nc nazwa.domenowa.serwera.pl 80 

Aby wysłać zapytanie, które zawiera konkretne Cookie, dodaj odpowiedni nagłówek do request.txt:

GET /sciezka/do/pliku HTTP/1.1
Host: www.wp.pl
Cookie: klucz=wartosc


1. Zadanie 1 - HTTP (3pkt)

Adres up.kuba-orlik.name/secret ujawni Ci sekretny token - ale tylko po uprzednim zalogowaniu. Logowanie odbywa się poprzez zrobienie zapytania GET na up.kuba-orlik.name/login. Użyj telnet do zdobycia treści tego tokenu.

W odpowiedzi podaj treść sekretu oraz komendy telnet, które należy wpisać, aby ten sekret uzyskać.

2. Zadanie 2 - cache (3 pkt)

Zbadaj za pomocą narzędzi deweloperskich w przeglądarce, jak wybrana przez Ciebie strona zachowuje się przy pierwszym załadowaniu, a jak przy wtórnym załadowaniu. Czy strona jest ustawiona tak, że przeglądarka poprawnie cache'uje odpowiedzi serwera, aby pobierać jak najmniej danych? Zrób zestawienie - ile danych (w kB) jest pobierane przy pierwszym wczytaniu strony, a ile przy wtórnym.

Hint: aby zasymulować pierwotne wczytanie strony, użyj skrótu ctrl+shift+R.

Hint 2: Zwróć uwagę na ustawienie "disable cache" w network inspectorze.

3. Zadanie 3 (1pkt)

Zbadaj wybraną przez siebie stronę za pomocą narzędzia https://pagespeed.web.dev/. Co ją najbardziej spowalnia?

4. Zadanie 4 (3pkt)

Każde z następujących zapisów komunikacji w protokole HTTP zawiera jakąś nieprawidłowość - na poziomie treści, lub na poziomie składni. Wskaż i opisz nieprawidłowość dla każdego z nich

4.1. a)

> GET / HTTP/1.1
> Host: www.wp.pl


< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 08 Mar 2022 20:56:12 GMT
< Content-Type: text/html
< Connection: keep-alive
<
< Critical server error (500)

4.2. b)

> GET / HTTP/1.1
> Host: http://up.kuba-orlik.name


< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 08 Mar 2022 20:56:12 GMT
< Content-Type: text/html
< Connection: keep-alive
< 
< Hello

4.3. c)

> GET / HTTP/1.1
> Host: up.poznan.pl


< HTTP/1.1 301 Moved Permanently
< Content-Type: text/html
< 
< Please visit https://up.kuba-orlik.name instead

4.4. d)

> GET / HTTP/1.1
> Host: up.poznan.pl


< HTTP/1.1 500 Internal Server Error
< Content-Type: text/html
< 
< Not found

Autor: Kuba Orlik

Created: 2022-06-01 Wed 11:27

Validate