Web & Datenbanken Flashcards
(15 cards)
Was ist eine RESTful API?
Web-Service nach REST-Prinzipien
Nutzt HTTP-Methoden (GET, POST, PUT, DELETE) für Ressourcen (URLs)
Kommunikation ist zustandslos, Daten meist als JSON
Klare Schnittstelle, weit verbreitet für Webservices
Wofür stehen die HTTP-Methoden GET, POST, PUT, DELETE und wann werden sie verwendet?
GET:
Liest Ressource (z. B. GET /users/1), keine Änderung, idempotent
POST:
Erstellt neue Ressource oder Aktion (z. B. POST /orders), nicht idempotent
PUT:
Aktualisiert/ersetzt Ressource komplett (z. B. PUT /users/10), idempotent
DELETE:
Löscht Ressource (z. B. DELETE /posts/5), idempotent
Bezug zu CRUD:
GET = Read, POST = Create, PUT/PATCH = Update, DELETE = Delete
Was ist eine HTTP-Statuscode und was bedeuten zum Beispiel 200, 404 und 500?
HTTP-Statuscode:
Dreistellige Zahl im Response, signalisiert Ergebnis der Anfrage
Beispiele:
200 OK: Anfrage erfolgreich
404 Not Found: Ressource nicht gefunden
500 Internal Server Error: Serverfehler
Klassen:
1xx (Info), 2xx (Erfolg), 3xx (Weiterleitung), 4xx (Clientfehler), 5xx (Serverfehler)
Was ist der Unterschied zwischen HTTP und HTTPS?
HTTP:
Überträgt Daten unverschlüsselt (Port 80)
HTTPS:
Verschlüsselte Version mit TLS/SSL (Port 443), schützt Daten vor Mitlesen/Manipulation
Erkennbar am https:// und Schloss-Symbol im Browser
Was ist JSON und wie sieht ein typisches JSON-Objekt aus?
JSON:
Textbasiertes Datenformat aus Schlüssel-Wert-Paaren, Arrays, verschachtelten Objekten
Häufig für Datenaustausch bei Web-APIs verwendet
Beispiel:
{
“name”: “Alice”,
}
Was passiert technisch, wenn man im Browser eine URL eingibt (z.B. http://example.com) – vom DNS bis zur Seitendarstellung, grob skizziert?
DNS-Auflösung: Domain → IP
TCP-Verbindung zum Server (ggf. TLS/HTTPS)
Browser sendet HTTP-Request
Server antwortet mit HTTP-Response (HTML usw.)
Browser lädt Ressourcen (CSS, JS, Bilder)
HTML wird geparst, Seite gerendert und angezeigt
Was ist eine relationale Datenbank?
Organisiert Daten in Tabellen (Zeilen & Spalten)
Tabellen sind über Schlüssel (Primär-, Fremdschlüssel) miteinander verknüpft
Unterstützt SQL, ACID-Eigenschaften und Integritätsregeln
Beispiele: MySQL, PostgreSQL, Oracle, SQL Server
Was bedeutet SQL und wofür wird es verwendet?
Standard-Sprache für relationale Datenbanken
Dient zum Erstellen, Abfragen, Ändern und Löschen von Daten (CRUD)
Beispiele: SELECT, INSERT, UPDATE, DELETE
Unterstützt Joins, Aggregationen, Sortierung usw.
Deklarativ – man beschreibt, was man möchte, nicht wie
Was ist eine Primärschlüssel in einer Tabelle und warum ist er wichtig?
Spalte(n), die jeden Datensatz eindeutig identifizieren (unique, nicht NULL)
Ermöglicht schnelle Suche und stellt Eindeutigkeit sicher
Basis für Beziehungen (Fremdschlüssel verweisen darauf)
Wichtig für Integrität und Verknüpfung von Tabellen
Was ist ein Fremdschlüssel?
Spalte(n), die auf Primärschlüssel einer anderen Tabelle verweisen
Stellt Beziehungen zwischen Tabellen her (z. B. orders.customer_id → customers.id)
Sichert referentielle Integrität (nur gültige Verweise erlaubt)
Ermöglicht Joins und Cascading-Optionen
Was macht der SQL-Befehl SELECT * FROM products WHERE price > 100 ORDER BY name LIMIT 5;?
Gibt maximal 5 Produkte mit Preis über 100 aus
Sortiert alphabetisch nach Name
Zeigt alle Spalten dieser Produkte
Was versteht man unter SQL-Injection und wie kann man sich dagegen schützen?
SQL-Injection:
Angreifer schleust manipulierten SQL-Code über unsichere Eingaben ein
Kann Daten auslesen, löschen oder Kontrolle übernehmen
Schutz:
Parametrisierte Queries / Prepared Statements verwenden
Eingaben validieren
ORMs oder Query-Builder nutzen
Minimale DB-Berechtigungen vergeben
Was bedeuten die ACID-Eigenschaften einer Datenbanktransaktion?
Atomicity: Alles-oder-nichts, Transaktion ist unteilbar
Consistency: Daten bleiben konsistent, Integritätsregeln werden eingehalten
Isolation: Transaktionen beeinflussen sich nicht gegenseitig (je nach Isolationslevel)
Durability: Nach Commit bleiben Änderungen dauerhaft gespeichert
Was ist Normalisierung in der Datenbankmodellierung und warum ist sie wichtig?
Prozess zur Aufteilung von Daten in Tabellen, um Redundanzen und Anomalien zu vermeiden
Mehrere Normalformen (1NF, 2NF, 3NF…), jeweils strengere Regeln
Ziel: Jedes Faktum nur einmal speichern, saubere Datenstruktur
Verhindert Update-, Insert- und Delete-Anomalien
JOIN
Kombiniert Zeilen aus 2 Tabellen