bogen-treu nach docs/223015c/02-netzwerke-protokolle-css-bogen.md. sub-A netzwerk (18 slides): - lead 'sub-A netzwerk' - klausur drei-adressen-tabelle (IP weltweit eindeutig endgerät, MAC lokal eindeutig NIC, port programm — mit beispielen 80/443/22) - ip-packet demo reuse - client-server-ports demo reuse - lead TCP/IP, warum-schichten erklärung, klausur 4-schichten-tabelle (network-access/internet/transport/application mit protokollen + dateneinheiten frame/packet/segment/data) - encap-stack demo reuse, klausur encapsulation-pyramide - OSI vs TCP/IP tabelle (7 vs 4 schichten) - lead DNS, dns-lookup demo reuse, dns-tree demo reuse - lead HTTP, klausur HTTP-request mit GET/path/header, klausur HTTP-response mit statuscode/header/body - klausur statuscodes-tabelle (200/301/302/400/401/403/404/500/503) - HTTP-versionen 1.1/2/3 mit hauptverbesserungen pro version - tcp-handshake demo reuse - klausur synthese 'URL → pixel 7 schritte' (URL-parsen→DNS→TCP→TLS→HTTP→HTML/CSS/JS→render) - network-chain demo reuse sub-B CSS+A11y (22 slides): - lead sub-B - css-anatomie demo reuse mit selektor/property/value erklärung + 3 einbindungsarten - klausur CSS-selektoren-tabelle (element/klasse/id/pseudo/kombinatoren) - css-combinators demo reuse - klausur spezifizität-hierarchie (inline 1000, id 100, klasse 10, element 1) - css-box-model demo reuse + ASCII-darstellung + box-sizing border-box best-practice - display: block/inline/flex/grid übersicht - klausur flexbox-vs-grid (1D vs 2D, anwendungs-fälle) - css-responsive demo reuse (media queries, mobile-first) - lead A11y, klausur BFSG+EAA-pflicht ab 28.06.2025 (wer betroffen, ausnahmen kleinunternehmen, 100k bußgeld), klausur WCAG-POUR-prinzipien - a11y-semantic demo reuse, ARIA als ergänzung (button vs div role=button), contrast-levels demo reuse, keyboard-a11y demo reuse, a11y-error demo reuse - selbstlernen A11y-audit mit lighthouse - zusammenfassung 'netzwerk + browser-synthese + CSS + A11y' reuse-demos: ip-packet, client-server-ports, encap-stack, dns-lookup, dns-tree, tcp-handshake, network-chain, css-anatomie, css-combinators, css-box-model, css-responsive, a11y-semantic, contrast-levels, keyboard-a11y, a11y-error (15 demos reused) no NEU demos in dieser session — alle inline als markdown-tabellen + code-blocks klausur-marker (11): drei-adressen, 4-schichten, encapsulation, HTTP-request, HTTP-response, statuscodes, URL→pixel-7-schritte, CSS-selektoren, spezifizität, box-model, flexbox-vs-grid, BFSG/EAA, WCAG-POUR build geht durch
32 KiB
marp, theme, paginate, backgroundColor, header, footer, title
| marp | theme | paginate | backgroundColor | header | footer | title |
|---|---|---|---|---|---|---|
| true | gaia | true | Grundlagen IT- und Internettechnik (223015c) | Michael Czechowski – HdM Stuttgart – SoSe 2026 | Kapitel 2: Netzwerke, Protokolle & CSS |
Kapitel 2
Netzwerke, Protokolle & CSS
Sub-Sektion A: Netzwerk
Wie reisen Pakete?
Drei Adressen — IP · MAC · Port
| Adresse | Identifiziert | Beispiel |
|---|---|---|
| IP | das Endgerät (welt-eindeutig) | 192.168.1.42 (v4) · 2001:db8::1 (v6) |
| MAC | die Netzwerk-Karte (lokal eindeutig) | 00:1A:2B:3C:4D:5E (6 Byte hex) |
| Port | das Programm auf dem Gerät | 80 (HTTP) · 443 (HTTPS) · 22 (SSH) |
Drei Schichten, drei Fragen. „Welcher Computer?" → IP. „Welches Kabel/WLAN?" → MAC. „Welches Programm?" → Port.
TCP/IP-Schichtenmodell
Warum Schichten?
Komplexes Problem „Daten von A nach B" in kleine Aufgaben zerlegt:
- Welche elektrischen Signale auf dem Kabel? (Schicht 1)
- Wie ist das Paket adressiert? (Schicht 2)
- Wie kommt das Paket über mehrere Hops? (Schicht 3)
- Wie ist die Verbindung zuverlässig? (Schicht 4)
- Welche Anwendung benutzt das? (Schicht 5)
Jede Schicht ignoriert, was die anderen tun. Modularer, austauschbarer, debugbarer.
TCP/IP · 4 Schichten
| # | Schicht | Aufgabe | Beispiel-Protokolle | Dateneinheit |
|---|---|---|---|---|
| 1 | Network Access | Bits auf Kabel/WLAN | Ethernet · WiFi | Frame |
| 2 | Internet | Routing über mehrere Hops | IP · ICMP | Packet |
| 3 | Transport | Verbindung + Zuverlässigkeit | TCP · UDP | Segment |
| 4 | Application | Anwendungs-Logik | HTTP · DNS · SMTP | Data |
Schichten von unten nach oben. Jede höhere Schicht nutzt die darunter.
Encapsulation — Datenüberbringung
[Application Data]
↓ + TCP-Header
[Segment]
↓ + IP-Header
[Packet]
↓ + Ethernet-Header + Trailer
[Frame]
↓ als Bits auf das Kabel/WLAN
Beim Empfänger: umgekehrte Reihenfolge.
OSI vs TCP/IP
| OSI (7 Schichten) | TCP/IP (4 Schichten) |
|---|---|
| 7 Application | Application |
| 6 Presentation | (in App-Schicht) |
| 5 Session | (in App-Schicht) |
| 4 Transport | Transport |
| 3 Network | Internet |
| 2 Data Link | Network Access |
| 1 Physical | (in Network Access) |
OSI: theoretisches Lehrbuch-Modell (ISO, 1984). TCP/IP: das Modell, das in der Praxis verwendet wird.
DNS — die Adress-Auskunft
HTTP — die Sprache des Webs
HTTP-Request — was geschickt wird
GET /index.html HTTP/1.1
Host: librete.ch
User-Agent: Mozilla/5.0 (Macintosh; …)
Accept: text/html,application/xhtml+xml
Accept-Language: de-DE,en-US;q=0.9
Connection: keep-alive
| Bestandteil | Was |
|---|---|
GET |
Method — was tun wir |
/index.html |
Path — was wollen wir |
HTTP/1.1 |
Version |
Host: … |
Header (mehrere möglich) |
HTTP-Response — was zurückkommt
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Cache-Control: max-age=3600
Server: nginx/1.24
<!DOCTYPE html>
<html>...
| Bestandteil | Was |
|---|---|
200 OK |
Statuscode + Message |
Content-Type: … |
Header mit Meta-Information |
| (leere Zeile) | trennt Header von Body |
<!DOCTYPE … |
Body (eigentlicher Inhalt) |
Statuscodes — die wichtigsten
| Code | Name | Bedeutung |
|---|---|---|
| 200 | OK | alles gut, hier dein Inhalt |
| 301 | Moved Permanently | Seite ist umgezogen, hier neue URL |
| 302 | Found | temporäre Weiterleitung |
| 400 | Bad Request | deine Anfrage war kaputt |
| 401 | Unauthorized | du musst dich einloggen |
| 403 | Forbidden | eingeloggt aber nicht berechtigt |
| 404 | Not Found | gibt's nicht |
| 500 | Internal Server Error | Server hat Bug |
| 503 | Service Unavailable | Server überlastet / down |
HTTP/1.1 → HTTP/2 → HTTP/3
| Version | Jahr | Hauptverbesserung |
|---|---|---|
| HTTP/1.0 | 1996 | erste Spec |
| HTTP/1.1 | 1997 | persistent connections (1 TCP für viele Requests) |
| HTTP/2 | 2015 | multiplexing (parallele Streams im selben TCP) + Header-Komprimierung |
| HTTP/3 | 2022 | basiert auf QUIC (UDP statt TCP), schnellere Handshakes |
Heute: HTTP/2 dominant. HTTP/3 wächst stark, besonders bei Google, Cloudflare.
Block F · URL → Pixel in 7 Schritten
- URL parsen — Schema, Host, Port, Path extrahieren
- DNS-Lookup — Host-Name → IP-Adresse
- TCP-Handshake mit Server-IP auf Port 443
- TLS-Handshake für https (Zertifikat prüfen)
- HTTP-Request senden
- Server antwortet mit HTML, CSS, JS (als Body)
- Browser parsed + rendert — HTML-Baum + CSS-Regeln + JS-Ausführung → Pixel
Sub-Sektion B: CSS + A11y
Wie wird HTML hübsch + barrierefrei?
CSS-Selektoren
| Selektor | Was |
|---|---|
p |
alle <p>-Elemente |
.btn |
alle Elemente mit class="btn" |
#header |
das Element mit id="header" (nur EINS pro Seite) |
* |
alle Elemente |
button:hover |
Button beim Hover |
button:focus |
Button mit Tastatur-Fokus |
input:disabled |
deaktivierte Inputs |
nav > a |
alle <a> direkt unter <nav> |
h1 + p |
erstes <p> direkt nach einem <h1> |
Spezifizität — wer gewinnt?
Wenn mehrere CSS-Regeln auf das gleiche Element zutreffen: die spezifischste gewinnt.
| Selektor-Typ | Spezifizität |
|---|---|
Inline style="..." |
1000 |
ID #header |
100 |
Klasse .btn, Attribut [type=text], Pseudo :hover |
10 |
Element p, Pseudo-Element ::before |
1 |
* |
0 |
Bei Gleichstand: letzte Regel im CSS gewinnt.
Box-Model
+------------------------+
| margin |
| +------------------+ |
| | border | |
| | +--------------+ | |
| | | padding | | |
| | | +----------+ | | |
| | | | content | | | |
| | | +----------+ | | |
| | +--------------+ | |
| +------------------+ |
+------------------------+
box-sizing: border-box; ist Best Practice — width inkludiert dann Padding + Border.
Display: block · inline · flex · grid
| Display | Was |
|---|---|
block |
nimmt die volle Breite, untereinander |
inline |
nur so breit wie nötig, nebeneinander |
inline-block |
nebeneinander, aber width/height respektieren |
flex |
1D-Layout (Reihe oder Spalte) |
grid |
2D-Layout (Raster) |
none |
nicht angezeigt |
Flex und Grid sind die modernen Layout-Werkzeuge.
Flexbox vs Grid
| Flexbox | Grid | |
|---|---|---|
| Dimensions | 1D (Reihe ODER Spalte) | 2D (Reihe UND Spalte) |
| Geeignet für | Navigation, Karten-Liste, Button-Gruppe | Seiten-Layout, komplexe Raster |
| Container-CSS | display: flex |
display: grid |
| Reihen-Richtung | flex-direction |
grid-template-rows |
| Spalten-Richtung | (durch flex-direction) | grid-template-columns |
Faustregel: Brauchst du nur eine Richtung? Flex. Beide? Grid.
Barrierefreiheit — Pflicht seit 28.06.2025
BFSG + EAA — was kommt am 28.06.2025?
Barrierefreiheitsstärkungsgesetz (BFSG) — DE-Gesetz, setzt European Accessibility Act (EAA) um.
Pflicht für:
- Online-Shops, Buchungssysteme
- Banken, Versicherungen
- E-Books, E-Reader
- Smartphone-Apps mit kommerziellem Bezug
Ausnahmen: Unternehmen < 10 Mitarbeiter + < 2 Mio € Umsatz.
Verstöße: bis 100 000 € Bußgeld + Klagerecht durch Behindertenverbände.
WCAG · 4 Prinzipien (POUR)
| Prinzip | Bedeutung | Beispiel |
|---|---|---|
| Perceivable | wahrnehmbar | Alt-Text für Bilder, Untertitel für Video |
| Operable | bedienbar | Keyboard-Navigation, Skip-Links |
| Understandable | verständlich | Lese-Niveau, klare Fehlermeldungen |
| Robust | robust gegenüber Tech | semantisches HTML, Standards-konform |
WCAG 2.1 Level AA ist meist Mindest-Anforderung.
ARIA — nur als Ergänzung
<!-- Schlecht: div mit ARIA-Krücken -->
<div role="button" tabindex="0" onclick="...">Klick</div>
<!-- Gut: nativer Button -->
<button onclick="...">Klick</button>
<!-- ARIA OK wenn HTML nicht reicht -->
<nav aria-label="Hauptnavigation">
<a href="...">Home</a>
</nav>
Erste Regel von ARIA: keine ARIA-Attribute verwenden, wenn das richtige HTML-Element verfügbar ist.
Selbstlernen — A11y-Audit am eigenen Projekt
- Öffnet eine eigene Seite (oder eure HdM-Übungsseite)
- Lighthouse in Chrome DevTools öffnen
- Audit „Accessibility" laufen lassen
- Schaut die Top-3-Probleme an → was bedeuten sie?
Manuell: 5. Maus weglegen — nur mit Tab durchnavigieren. Wo bleibt der Fokus stecken? 6. Zoomt im Browser auf 200% — bleibt die Seite lesbar?
Zusammenfassung
Netzwerk: IP-Adresse (Endgerät) + MAC (lokales Netz) + Port (Programm). 4 TCP/IP-Schichten mit Encapsulation. DNS löst Namen in IPs auf. HTTP transportiert Daten.
Browser-Synthese: URL → DNS → TCP → TLS → HTTP → HTML/CSS/JS → Pixel.
CSS: Selektoren + Spezifizität + Box-Model + Flexbox/Grid + Responsive.
A11y: BFSG/EAA ab 28.06.2025 Pflicht. WCAG POUR (Perceivable · Operable · Understandable · Robust). Semantisches HTML als Foundation, ARIA als Ergänzung.
→ In Kap 3 schauen wir an: was tun, wenn HTML+CSS da sind und nichts mehr passiert? JavaScript macht es interaktiv.














