Technologia Internetowe - Ćwiczenia 1
Harmonogram
Następne
Temat: Wstęp organizacyjny. Podstawowe wiadomości o internecie. Wprowadzenie do technologii internetowych.
Zapoznanie się z zasadami przyjętymi na zajęciach
Zasady można znaleźć tutaj.
1. Co to jest internet i jak działa?
Internet jako sieć sieci:
- Łączenie milionów urządzeń na całym świecie.
- Kluczowe pojęcia: IP (Internet Protocol), routery, sieci lokalne i globalne.
Przesyłanie danych w internecie:
- Pakiety danych, protokoły komunikacji (np. TCP/IP).
Przykłady praktyczne:
- Traceroute: Jak pakiet danych przemieszcza się między komputerem a serwerem.
Ćwiczenie: W systemie Windows/Unix wpisz tracert google.com
(Windows) lub traceroute google.com
(Linux/Mac).
- Ping: Użyj narzędzia ping, aby sprawdzić czas odpowiedzi serwera.
Ćwiczenie: Wykonaj polecenie ping example.com
i omów znaczenie czasu odpowiedzi oraz utraconych pakietów.
2. HTTP – Hypertext Transfer Protocol
Co to jest HTTP?
- Protokół komunikacyjny używany w przeglądarkach internetowych do przesyłania stron WWW.
- Znaczenie HTTP i HTTPS (zabezpieczenie transmisji za pomocą SSL/TLS).
Budowa żądania i odpowiedzi HTTP:
- Metody HTTP (GET, POST, PUT, DELETE).
- Struktura nagłówków HTTP.
- Przykład: żądanie pobrania strony przez przeglądarkę.
HTTP w praktyce:
- Użycie narzędzi takich jak przeglądarka i wbudowane DevTools (zakładka „Network”).
Przykłady praktyczne:
- DevTools – analiza HTTP w przeglądarce:
Otwórz stronę internetową › Uruchom DevTools (F12) › Zakładka „Network”.
Ćwiczenie: Wyszukaj żądania GET dla plików HTML, CSS, JS. Sprawdź status odpowiedzi (np. 200 OK, 404 Not Found).
- Postman lub curl:
Pokaż, jak wysłać żądanie GET/POST do testowego API.
Ćwiczenie: W Postman wpisz URL, np. https://jsonplaceholder.typicode.com/posts
i przeanalizuj odpowiedź.
3. DNS – Domain Name System
Dlaczego DNS jest ważny?
- Tłumaczenie adresów zrozumiałych dla ludzi (np. google.com) na adresy IP (np. 142.250.74.206).
Jak działa DNS?
- Hierarchiczna struktura (serwery główne, serwery TLD, serwery nazw domen).
- Proces rozwiązywania nazw domenowych (query).
DNS w praktyce:
- Narzędzia do sprawdzania DNS (np. nslookup, ping).
- Przykład: śledzenie zapytania od wpisania adresu w przeglądarke do uzyskania odpowiedzi.
Przykłady praktyczne:
- Nslookup:
Ćwiczenie: Wpisz w terminalu nslookup google.com
, aby zobaczyć adres IP serwera.
Dodatkowo: sprawdź rekordy DNS, np. MX (mail) lub TXT (konfiguracje domeny).
- Ping z domeną i IP:
Wykonaj ping google.com
, a potem ping [adres IP] i porównaj wyniki.
- Ćwiczenie bonusowe:
Zmodyfikuj plik hosts lokalnie (Windows: C:\Windows\System32\drivers\etc\hosts
), aby przypisać inną domenę do adresu IP i przetestuj.
4. Przeglądarki internetowe
Jak działają przeglądarki?
- Proces pobierania i renderowania strony internetowej.
- Rola cache i pamięci podręcznej.
Popularne przeglądarki:
- Różnice między Chrome, Firefox, Edge.
- Rozszerzenia przeglądarek i ich zastosowania.
DevTools – narzędzie do analizy stron internetowych:
- Konsola, podgląd elementów, analiza sieci.
Przykłady praktyczne:
- DevTools – Elementy:
Ćwiczenie: Otwórz stronę internetową, przejdź do DevTools › „Elements”.
Znajdź strukturę HTML i style CSS elementów (np. nagłówków, obrazów).
- Instalacja rozszerzeń:
Ćwiczenie: Zainstaluj rozszerzenie typu JSON Viewer i użyj go do analizy danych API.
- Cache i pamięć podręczna:
Ćwiczenie: Wyczyść cache w przeglądarce i załaduj stronę ponownie, analizując czas ładowania w DevTools › „Network”.
5. Serwery internetowe
Co to jest serwer?
- Urządzenie lub oprogramowanie, które udostępnia zasoby przez internet.
- Typy serwerów: HTTP (Apache, Nginx), FTP, bazy danych.
Jak działa serwer WWW?
- Obsługa żądań HTTP.
- Przykład: serwer odbiera żądanie o stronę, przetwarza je i zwraca plik HTML.
Praktyczne przykłady:
- Użycie narzędzi takich jak Postman lub curl do wysyłania żądań do serwera.
Przykłady praktyczne:
- Uruchomienie lokalnego serwera:
Ćwiczenie: Użyj prostego serwera w Pythonie:
python -m http.server
Otwórz przeglądarkę i wpisz http://localhost:8000
.
Pokaż, jak serwer udostępnia pliki w folderze.
- Debugowanie serwera lokalnego:
Ćwiczenie: Wprowadź błąd w pliku HTML, załaduj stronę i przeanalizuj komunikaty błędów w DevTools.
6. Jak te elementy łączą się w całość?
Ścieżka użytkownika w internecie:
- Wpisanie adresu URL › zapytanie DNS › żądanie HTTP › odpowiedź serwera › renderowanie strony.
Przykład krok po kroku:
- Analiza w DevTools: jak zapytania HTTP i odpowiedzi są obsługiwane przez przeglądarkę.
- Użycie prostego serwera lokalnego (np. Python SimpleHTTPServer) do demonstracji działania.
Przykłady praktyczne:
- Śledzenie kroków w DevTools:
Otwórz stronę › DevTools › „Network”.
Ćwiczenie: Zbadaj zapytania DNS, czasy odpowiedzi serwera, rozmiar pobieranych plików.
- Testowanie narzędzi:
Użyj Postman i curl, aby wysłać żądania HTTP do własnego serwera lokalnego i zrozumieć przepływ danych.
7. Część praktyczna
Ćwiczenia:
- Korzystanie z narzędzi diagnostycznych: ping, traceroute, nslookup.
- Analiza ruchu sieciowego w przeglądarce (DevTools › Network).
- Testowanie żądań HTTP przy pomocy Postman lub curl.
Dlaczego to ważne dla biologów?
- Zrozumienie działania podstawowych technologii internetowych ułatwia korzystanie z bioinformatycznych narzędzi online.
- Przygotowanie do budowy prostych aplikacji webowych wspierających badania biologiczne.
- Podstawy bezpieczeństwa w pracy z danymi w internecie.