Files
uni/slides/223015b/05-distribution-metadaten.md
T
libretech 722a4a9fe8 slides: 8 overflow-folien gefixt + fragmented-list-marker eingeführt
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)
2026-05-14 20:48:38 +02:00

20 KiB
Raw Blame History

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
<style> :root { --color-foreground: #1a1a2e; --color-highlight: #1e5f8a; --color-dimmed: #4a4a6a; } section.invert { --color-foreground: #fff; } section { font-size: 1.7rem; } h1 { color: #1e5f8a; } section.invert h1 { color: #fff; } h2 { color: #1f2937; } pre { background: #0f0f23; color: #5fb3e4; border-radius: 8px; border-left: 3px solid #1e5f8a; } pre code { background: transparent; color: inherit; } code { background: #0f0f23; padding: 0.15em 0.4em; border-radius: 4px; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; } section code:not(.hljs) { color: #5fb3e4 !important; } section code.hljs { color: #f8f8f8 !important; } a { color: var(--color-highlight); } section.klausur { background: repeating-linear-gradient( 135deg, #e3f2fd, #e3f2fd 40px, #fff 40px, #fff 80px ) !important; } @media print { section.klausur { background: #e3f2fd !important; } } section.aufgabe { background: #e3f2fd !important; } section.aufgabe footer { display: none; } section.erklaerung :not(header), section.erklaerung :not(footer) { font-size: 1.1rem; } section.erklaerung h1 { font-size: 1.5rem; color: #1e5f8a; margin-bottom: 0.3rem; } section.erklaerung ul, section.erklaerung ol { font-size: 1.0rem; line-height: 1.4; } section.erklaerung p { font-size: 1.0rem; line-height: 1.4; } section.erklaerung table { font-size: 0.9rem; } </style>

Kapitel 5

Distribution und Metadaten


bg fit


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: HIT oder cf-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
Instagram Ja neu komprimiert
Facebook · iMessage Ja —
Twitter / X Ja nicht bei Direktnachricht
WhatsApp 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.