per user-feedback nach QA-render-check aller 493 folien (overflow-detector via PIL bottom-band-darkness): 223015b/01-daten-grundlagen s.036 nyquist: H1 'Nyquist-Theorem — warum 2× reicht' → 'Nyquist — warum 2× reicht' body text gekürzt, drei fälle als * statt - (marp fragmented list) 223015b/03-inhalte-bild-audio-video s.009 RGB→Y'CbCr: H1 verkürzt, bg right 50% → 45% contain, list-marker * (Y/Cb/Cr reveal) text 'unabhängig komprimiert werden' eingedampft 223015b/03-inhalte-bild-audio-video s.031 inter-frame: H1 'Inter-Frame-Kompression — die zentrale Idee' → 'Inter-Frame — die zentrale Idee' bg right 42% → 40% contain bullets I/P/B mit * (fragmented reveal) 223015b/05-distribution-metadaten s.012 EXIF-tabelle: 8 zeilen → 5 zeilen (kamera+linse zusammengelegt, belichtung kompakt, software+bearbeitung zusammengelegt) 223015b/05-distribution-metadaten s.014 EXIF-stripping: 7 plattform-zeilen → 5 (facebook+iMessage und E-mail+slack+discord zusammen) faustregel als italic-zeile statt bold-block 223015c/01-geschichte-grundlagen-html s.006 alan turing: bg right 35% (default fill) → 33% contain (verhindert dass composite-bild bis footer reicht) 3 jahres-zeilen als * bullets (fragmented reveal) dhbw/01_web_eng s.054 counter: in 2 folien gesplittet: 'Counter — Vanilla + React' und 'Counter — Vue + Svelte' pointe 'vier frameworks, dasselbe pattern: state → UI re-rendert' am ende der 2. folie dhbw/08_best_practices s.005 .gitignore: code-block gekürzt: 6 sektionen → 5, mehrere lines pro logical group zusammengezogen (pem+key zusammen, vscode+idea zusammen) github.com/github/gitignore als markdown-link bonus: wo pädagogisch sinnvoll - durch * ersetzt (marp progressive-reveal in presenter-modus). nicht überall — nur wo bullets sequenziell aufgedeckt werden sollten. klausurfolien regeneriert (223015b 27, 223015c 19)
20 KiB
marp, theme, paginate, backgroundColor, header, footer, title
| marp | theme | paginate | backgroundColor | header | footer | title |
|---|---|---|---|---|---|---|
| true | gaia | true | Dateiformate, Schnittstellen, Speichermedien & Distributionswege (223015b) | Michael Czechowski – HdM Stuttgart – SoSe 2026 | Distribution und Metadaten |
Kapitel 5
Distribution und Metadaten
Sub-Sektion A: Distribution — wie reist die Datei?
CDN — Content Delivery Network
Idee: Daten dort speichern, wo die Nutzer:innen sind.
Statt von einem zentralen Server in Kalifornien wird die Datei von einem Edge-Server in eurer Nähe geliefert.
Beispiel: Netflix nutzt Open Connect — eigene Server in 1.000+ ISP-Rechenzentren weltweit. ~15 % des globalen Internet-Verkehrs.
Latenz von Stuttgart zu Stuttgart: ~5 ms. Latenz von Stuttgart nach Kalifornien: ~150 ms.
Wie sieht das im DevTools aus?
DevTools (F12) → Tab Network → reload eine Seite
Was ihr seht:
- DNS-Lookup: ~30 ms (oder gecacht: 0)
- TLS-Handshake: ~50 ms
- TTFB (Time to First Byte): ~80 ms wenn CDN, sonst 300+
- Cache-Status: Header
x-cache: HITodercf-cache-status: HIT
→ Selbstlernen: öffnet eine populäre Seite, schaut die Response-Header an.
REST-APIs — wie Apps Daten austauschen
Was ist eine API?
Application Programming Interface. Eine standardisierte Stelle, an der zwei Programme Daten austauschen.
HTTP-Request (GET /aktuell?ort=stuttgart)
┌─────────────────────────────────────────────────┐
│ ▼
[App auf dem Handy] [API-Server]
▲ │
│ JSON-Response │
└─────────────────────────────────────────────────┘
{ "temperatur": 14, "regen": false, ... }
Beispiele: Wetter, Maps, Banking, Twitter, jede Spotify-Anfrage.
REST: GET · POST · PUT · DELETE
| Methode | Was tut sie | URL-Beispiel |
|---|---|---|
| GET | lesen | GET /users/42 (User mit ID 42 abfragen) |
| POST | neu erstellen | POST /users mit Daten als Body |
| PUT | überschreiben | PUT /users/42 mit kompletten neuen Daten |
| PATCH | teilweise ändern | PATCH /users/42 mit Änderungen |
| DELETE | löschen | DELETE /users/42 |
CRUD = Create · Read · Update · Delete.
Selbstlernen — eine API im Browser anfragen
JSONPlaceholder ist eine kostenlose Fake-API zum Üben:
https://jsonplaceholder.typicode.com/users
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts?userId=2
Aufgabe: Im Browser öffnen. Was kommt zurück? Welcher Content-Type-Header?
Bonus: mit curl https://api.github.com/users/torvalds in der Konsole.
JSON — das Standard-Datenformat
{
"name": "Torvalds",
"alter": 56,
"projekte": [
{ "name": "Linux", "stars": 180000 },
{ "name": "Git", "stars": 50000 }
],
"aktiv": true
}
- Objekte (
{ ... }), Listen ([ ... ]), Strings ("..."), Zahlen,true/false,null - Universell: jede Programmiersprache hat JSON-Support
- Lesbar: Mensch + Maschine
Sub-Sektion B: Metadaten — was Dateien über sich verraten
EXIF — was ein Foto über sich verrät
Exchangeable Image File Format. Standard seit 1995, in JPEG/HEIC/TIFF.
Typische EXIF-Daten in einem Smartphone-Foto:
| Feld | Beispiel |
|---|---|
| Kamera | Apple iPhone 15 Pro · 24 mm · ƒ/1.78 |
| Belichtung | 1/250 s · ISO 100 |
| Aufnahme-Zeitstempel | 2026-04-12 · 18:47:12 +02:00 |
| GPS-Koordinaten | 48.7847°N 9.1825°E (Stuttgart, Königstraße) |
| Software | iOS 18.4.1 · Photoshop CC 2025 |
Der John-McAfee-GPS-Fall
Dezember 2012. John McAfee (Antivirus-Erfinder) flieht aus Belize, wo er als Mordverdächtiger gesucht wird.
Vice Magazine veröffentlicht ein Interview mit einem Foto: McAfee im T-Shirt, scheinbar in einer geheimen Location.
EXIF-Koordinaten im Foto: 15.6541° N, 88.9939° W → Hotel Nana Lodge, Guatemala. Bekannt.
McAfee wird 36 Stunden später festgenommen.
Social-Media-EXIF-Stripping
| Plattform | Stripped? | Vorbehalt |
|---|---|---|
| Ja | neu komprimiert | |
| Facebook · iMessage | Ja | — |
| Twitter / X | Ja | nicht bei Direktnachricht |
| Ja als Foto | NEIN bei „Dokument senden" | |
| E-Mail · Slack · Discord | Nein | Original bleibt |
Plattform-Upload = meist Stripped. Datei direkt teilen = unsicher.
ID3 — Metadaten in MP3-Dateien
ID3v2.4 Header:
Titel: "Hotel California"
Artist: "Eagles"
Album: "Hotel California"
Jahr: 1976
Genre: Rock
Cover-Art: [JPEG embedded, 250 × 250 px]
Plus: Lyrics, Komponist, Track-Nr, ReplayGain, manchmal ganze Lyric-Videos als Embedded-Bilder.
→ Daher ist eine 4-Min MP3 manchmal 5 MB groß statt 3 MB.
Der Tony-Blair-Fall (PDF-Metadaten)
Februar 2003. Britische Regierung veröffentlicht PDF-Dokument zur Begründung des Irakkriegs.
Ein britischer Akademiker findet im PDF-Revisionsverlauf: das Dokument wurde aus einer studentischen Doktorarbeit von 1991 kopiert.
Plagiats-Skandal. Plus Hinweise auf welche Mitarbeiter:innen welche Sätze überarbeitet hatten.
→ PDF-Metadaten verraten oft mehr als der Inhalt.
Vendor-Lockin — wenn das Format zum Käfig wird
Beispiele: proprietäre Formate
| Format | Hersteller | Was nervt |
|---|---|---|
| PSD (Photoshop) | Adobe | nur Photoshop liest Layer-Daten voll. Abo-Pflicht. |
| INDD (InDesign) | Adobe | gleiches Problem |
| .pages | Apple | nur in Apple-Apps voll editierbar |
| .numbers | Apple | gleiches |
| DOC (alt) | Microsoft | bis 2007 closed-source |
| PSP, AI | Adobe | proprietäre Editor-Formate |
→ Offene Alternativen: PNG, TIFF, ODT (LibreOffice), HTML/Markdown, SVG.
Vendor-Lockin als Risiko
Szenario: Du arbeitest 5 Jahre lang mit Adobe InDesign. Dann steigt der Abo-Preis um 200 % oder Adobe ändert das Format.
Konsequenz:
- Bestehende INDD-Dateien öffnen sich noch — aber nur in Adobe-Produkten
- Migration zu Affinity Publisher / Scribus: Daten müssen konvertiert werden, manche Details gehen verloren
- Bei einigen Formaten gibt es keine Konverter — Vendor entscheidet komplett
Schutz: Wichtige Daten in offenen Formaten parallel speichern.
Selbstlernen — exiftool auf eigene Fotos
Installation:
- macOS:
brew install exiftool - Linux:
sudo apt install libimage-exiftool-perl - Windows: exiftool.org
Aufgabe:
exiftool DEIN_FOTO.jpg
Schaut, was alles drin steht. Findet ihr GPS-Koordinaten? Bonus: in maps.google.com eintippen.
Optional: EXIF entfernen mit exiftool -all= DEIN_FOTO.jpg.
Zusammenfassung
Distribution — wie reist die Datei: CDN bringt sie zur Edge. REST-API liefert Daten on-demand. JSON ist die Sprache.
Metadaten — was bringt die Datei mit: EXIF (Fotos), ID3 (Audio), PDF-Meta (Dokumente). GPS + Zeitstempel + Software.
Privacy: EXIF kann Aufenthaltsort verraten. PDF kann Revision-History verraten.
Vendor-Lockin: proprietäre Formate als Käfig. Offene Alternativen wo möglich.
→ Eine Datei ist nie nur Inhalt. Inhalt + Gepäck + Weg.
