Zaawansowane programowanie sieciowe

Opis przedmiotu.

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.

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.