Files
uni/slides/223015b-2026/05-distribution-metadaten.md
T
libretech 351e3dfc23 branch-coexist: 3 neue decks 223015b-2026 / 223015c-2026 / dhbw-2026 daneben main
per user-request einen branch der main-content UND rewrite-content trägt — saubere separierung statt symlink/merge-conflict.

struktur:
- slides/<course>/ → main-content restored, eigene assets (kein new-demo-leak)
- slides/<course>-2026/ → rewrite-content, eigene assets (komplett kopiert + new demos)

Makefile: COURSES += 223015b-2026 223015c-2026 dhbw-2026 mit eigenen NAME/KAPITEL/DEPLOY/KLAUSUR-konfig. Klausur für b+c=1, dhbw=leer. Deploy-paths /hdm/223015b-2026 etc.

make build durchlaufen für alle 6 decks, 0 fehler.

dedup: 223015c+dhbw assets identisch in beiden ordnern (kein neu-demos auf b ergänzt). 223015b 86 → 120 files in -2026 (= +34 neue eroeffner/usb-c-drei-achsen/container-vs-codec/etc).
2026-05-14 21:54:15 +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.