Skip to content
Snippets Groups Projects
Commit 50617568 authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

15 pos for lab1

parent 4be9106c
No related branches found
No related tags found
No related merge requests found
Pipeline #120 passed with stage
in 4 minutes and 34 seconds
......@@ -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, ))
......@@ -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
......@@ -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?
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment