Zaawansowane programowanie sieciowe

Opis przedmiotu.

Wykład oraz ćwiczenia 16.IV.2025 odbędą się zdalnie na https://galene.org:8443/group/uw/sieci/ (nazwa użytkownika dowolna, puste hasło).

Notatki z wykładów

  1. Wstęp: tradycyjny model OSI, tradycyjne programowanie sieciowe. Internet jest zepsuty: problem rendez-vous, middleboxes (firewalls, NAT, etc.), ataki bezpieczeństwa, wszechobecne monitorowanie. (Notatek nie ma.)
  2. Aplikacje web. Protokół HTTP. Generacja po stronie serwera. Javascript, AJAX, protokoły nad HTTP.
  3. Serializacja danych (XML, JSON), struktura protokołów web (REST).
  4. Wstęp do bezpieczeństwa. TLS i HTTPS.
  5. Caching.
  6. Notyfikacje asynchroniczne.

Laboratoria

  1. Wstęp do języka programowania Go, proste serwery HTTP. Dostarczony kod: lab1.tar.gz.
  2. Klient REST. Serwer jest dostępny na https://galene.org:8445, możecie też użyć kopii lokalnej: Linux, Mac OS X, Windows.
  3. Protokoły kodowane w JSON.
  4. HTTPS, autentyfikacja poprzez żeton. Serwer jest dostępny na https://galene.org:8446, możecie też użyć kopii lokalnej: Linux, Mac OS X.
  5. Range requests, conditional requests.
  6. Notyfikacje asynchroniczne.
  7. UDP. Serwer est dostępny na https://galene.org:8447, kopia lokalna: Linux, Mac OS X, Windows.