From 50617568a5bb669f565aa5aab73a3bd0ce785e78 Mon Sep 17 00:00:00 2001 From: Piotr Maslanka <piotr.maslanka@henrietta.com.pl> Date: Thu, 16 Mar 2017 03:45:28 +0100 Subject: [PATCH] 15 pos for lab1 --- build.py | 2 +- src/lab1.json | 21 +++++++++++++++++-- src/lab1.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 75 insertions(+), 6 deletions(-) diff --git a/build.py b/build.py index fbc68fd..1fde52d 100644 --- a/build.py +++ b/build.py @@ -42,5 +42,5 @@ if __name__ == '__main__': labout.write(plab.encode('utf8')) labout.write(footer_bin) - os.system(('pandoc '+dist_lp+'%s.md -s -o %s%s.pdf') % (dist_lp, ex_no, dist_lp, ex_no)) + os.system(('pandoc %s%s.md -s -o %s%s.pdf') % (dist_lp, ex_no, dist_lp, ex_no)) os.unlink(dist_lp+'%s.md' % (ex_no, )) diff --git a/src/lab1.json b/src/lab1.json index 0a6a4b9..acd8700 100644 --- a/src/lab1.json +++ b/src/lab1.json @@ -27,7 +27,24 @@ "http_hostname": "www.python.org" }, { - "http_hostname": "pl.wikipedia.org" + "http_hostname": "www.mozilla.org" + }, + { + "http_hostname": "cia.gov" + }, + { + "http_hostname": "www.interia.pl" + }, + { + "http_hostname": "uokik.gov.pl" + }, + { + "http_hostname": "www.w3.org" + }, + { + "http_hostname": "www.icann.org" + }, + { + "http_hostname": "www.cert.pl" } - ] \ No newline at end of file diff --git a/src/lab1.md b/src/lab1.md index f6b9a74..ca9e085 100644 --- a/src/lab1.md +++ b/src/lab1.md @@ -85,7 +85,7 @@ programy, ktĂłre majÄ z nich korzystaÄ. Z ktĂłrego roku jest obecnie wykorzystywana wersja HTTP - HTTP/1.1? Pobierz [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html). -PuTTY jest uniwersalnym klientem protokoĹĂłw tekstowych. MoĹźemy wiÄc nim obsĹuĹźyÄ wiele +PuTTY jest terminalem, czyli uniwersalnym klientem protokoĹĂłw tekstowych. MoĹźemy wiÄc nim obsĹuĹźyÄ wiele róşnych protokoĹĂłw. Zazwyczaj korzystajÄ z niego administratorzy do logowania na serwery, ale moĹźemy nim rĂłwnieĹź obsĹuĹźyÄ HTTP (choÄ nie jest to wygodne). @@ -109,7 +109,7 @@ ZnajdĹş w sieci Internet, jak wyglÄ da przykĹadowe ĹźÄ danie i odpowiedĹş HTTP. W pierwszej linii zawarto tzw. metodÄ HTTP oraz wersjÄ protokoĹu. NastÄpnie wystÄpuje seria nagĹĂłwkĂłw ĹźÄ dania, czyli par _nazwa nagĹĂłwka_ - _wartoĹÄ_, ktĂłre klient decyduje siÄ podaÄ serwerowi. - Czy przy uĹźyciu PuTTY mĂłgĹbyĹ uĹźyÄ protokoĹu HTTP/2.0? + Czy przy uĹźyciu PuTTY mĂłgĹbyĹ uĹźyÄ protokoĹu HTTP/2.0? Dlaczego? Gdy to zrobisz, uruchom PuTTY. Istotne sÄ trzy pola: * **Host Name** - nazwa docelowej strony. W twoim przypadku wpisz tu **$http_hostname$** @@ -132,4 +132,56 @@ HTTP o TwojÄ stronÄ, sugerujÄ c siÄ znalezionym przykĹadem. na adres IP przed poĹÄ czeniem (a nie przesĹany do serwera), sprĂłbuj uzasadniÄ dlaczego. -sds +Zaobserwuj odpowiedĹş. SkĹada siÄ ona rĂłwnieĹź z dwĂłch czÄĹci - z listy nagĹĂłwkĂłw, +oraz tzw. ciaĹa. Tutaj odpowiedĹş byĹa tekstem - kodem HTML. ByĹ on zrozumiaĹy dla czĹowieka. +To, czym odpowiada serwer, znajduje siÄ w nagĹĂłwku jego odpowiedzi jako *Content-Type*. + + Kto przydziela typy MIME? Jakie typy MIME mogÄ mieÄ dokumenty Microsoft Word? + +SprĂłbujmy otrzymaÄ kod bĹÄdu. Kody bĹÄdĂłw z winy klienta (czyli nas) to 4xx, a z winy +serwera to 5xx. DuĹźo Ĺatwiej spowodowaÄ ten pierwszy, niĹź drugi. Nie kaĹźdy serwer +HTTP na te same klasy bĹÄdĂłw odpowiada w ten sam sposĂłb. Kodom bĹÄdĂłw (lub sukcesu) +towarzyszy zazwyczaj krĂłtki opis, np. *200 OK*, albo *404 Not Found*. + + Sprowokuj serwer, z ktĂłrym siÄ ĹÄ czysz, do zwrĂłcenia bĹÄdu 404. + Zapisz przebieg sesji. + +SprĂłbujmy teraz pobraÄ zasĂłb binarny. Ponownie za pomocÄ PuTTY poĹÄ cz siÄ ze stronÄ , +ale tym razem pobierz zasĂłb */favicon.ico*. + +*/favicon.ico* to nazwa zasobu, ktĂłry reprezentuje maĹÄ ikonkÄ stony. Zazwyczaj ikonka +ta widoczna jest na pasku, obok nazwy karty. Jest to nazwa zwyczajowa, czyli jeĹli +przeglÄ darka stwierdzi istnienie takiego zasobu, to uĹźyje go (chyba Ĺźe twĂłrca +strony zaĹźyczyĹ sobie inaczej). + + Pobierz *favicon.ico* z $http_hostname$. + Zanotuj typ MIME odpowiedzi, oraz caĹÄ sesjÄ HTTP. + + Jaki kod odpowiedzi otrzymaĹeĹ? ZnajdĹş kolegÄ/koleĹźankÄ z innym kodem. + Zanotuj jego/jej numer zadania. + +Serwer HTTP moĹźe wiÄc przesyĹaÄ róşne typy plikĂłw. Klient rĂłwnieĹź moĹźe to zrobiÄ. +Musi on skorzystaÄ jedynie z metody umoĹźliwiajÄ cej przesĹanie tzw. _ciaĹa_. Wykorzystywane +jego to do wysyĹania formularzy, plikĂłw, itp. + + Ustal jakie metody HTTP pozwalajÄ na przesĹanie ciaĹa poprzez klienta. + +IstniejÄ rĂłwnieĹź inne protokoĹy tekstowe. Z nich rĂłwnieĹź moĹźna - w pewnym stopniu - +korzystaÄ za pomocÄ PuTTY. Jak zobaczyliĹmy nie jest to wygodne, ale pozwala nam +dobrze zrozumieÄ protokĂłĹ. + + Przypomnij sobie definicjÄ przeglÄ darki internetowej. Z jakiej wĹaĹnie skorzystaĹeĹ? + + WymieĹ 3 rzeczy, ktĂłre rĂłwnieĹź moĹźna zrobiÄ za pomocÄ PuTTY, oraz nazwÄ protokoĹu, + ktĂłry tÄ rzecz umoĹźliwi. + +# Zadania dodatkowe + +Odpowiedzi zamieĹÄ w sprawozdaniu. + +1. Najnowszym kodem bĹÄdu HTTP jest 451. Co on oznacza? SkÄ d taka wartoĹÄ (i dlaczego)? +2. HTTP w szyfrowanym wydaniu nazywa siÄ HTTPS. Co zmieniono w protokole? SprĂłbuj narysowaÄ + jego model ISO OSI. Czym róşni siÄ od zwykĹego HTTP? + + + -- GitLab