Web-basierte Systeme - Cheatsheet.pdf

Web-basierte Systeme - Cheatsheet
Web-basierte Systeme - Cheatsheet Grundlagen von HTTP/1.1 und HTTP/2 Definition: Grundlagen von HTTP/1.1 und HTTP/2 - grundlegende Merkmale und Unterschiede der beiden Versionen. HTTP/1.1 basiert auf textbasierten Nachrichten und unterstützt Pipelining, während HTTP/2 binär ist und Multiplexing sowie Header-Kompression bietet. Details: HTTP/1.1: Textbasiertes Protokoll Pipelining: Mehrere Anfragen...

© StudySmarter 2024, all rights reserved.

Web-basierte Systeme - Cheatsheet

Grundlagen von HTTP/1.1 und HTTP/2

Definition:

Grundlagen von HTTP/1.1 und HTTP/2 - grundlegende Merkmale und Unterschiede der beiden Versionen. HTTP/1.1 basiert auf textbasierten Nachrichten und unterstützt Pipelining, während HTTP/2 binär ist und Multiplexing sowie Header-Kompression bietet.

Details:

  • HTTP/1.1:
    • Textbasiertes Protokoll
    • Pipelining: Mehrere Anfragen können gesendet werden, bevor die Antworten empfangen werden
    • Chunked Transfer Encoding
    • Keeps-Alive für persistente Verbindungen
    • Limitierungen bei gleichzeitigen Verbindungen (max. 6 pro Host)
  • HTTP/2:
    • Binärbasiertes Protokoll
    • Multiplexing: Mehrere Nachrichten (Frames) innerhalb einer TCP-Verbindung
    • Header-Kompression (HPACK)
    • Server Push: Server können Ressourcen vorab senden
    • Bessere Nutzung der Bandbreite und reduzierte Latenzen
    • Abwärtskompatibilität zu HTTP/1.1

RESTful Services und API-Design

Definition:

RESTful Services: Architektur für verteilte Hypermedia-Systeme, nutzt HTTP zum Datenaustausch. API-Design: Entwurf von Schnittstellen für den Zugriff auf Funktionen/Services.

Details:

  • REST: Representational State Transfer, baut auf HTTP auf.
  • Ressourcen: Einheitliche Identifikation über URLs.
  • HTTP-Methoden: GET, POST, PUT, DELETE.
  • Statuscodes: Feedback zu Anfragen (z.B. 200 OK, 404 Not Found).
  • HATEOAS: Hypermedia as the Engine of Application State.
  • API-Design-Prinzipien: Einfachheit, Konsistenz, Fehlertoleranz.
  • Versionierung: Umgang mit Änderungen in APIs.
  • Sicherheitsaspekte: Authentifizierung und Autorisierung (z.B. OAuth).

SQL-Injection und Präventionsstrategien

Definition:

SQL-Injection: Sicherheitslücke, bei der Angreifer schädlichen SQL-Code in Anwendungsabfragen einschleusen.

Details:

  • SQL-Injection nutzt ungesicherte Eingabefelder aus, um SQL-Abfragen zu manipulieren.
  • Verwendung von Prepared Statements und Parametrisierte Abfragen zur Prävention.
  • Input-Validierung: Eingaben auf erwartete Datenformate prüfen.
  • Database-Userrechte minimieren: Nur notwendige Rechte vergeben.
  • Verwendung von ORM (Object-Relational Mapping) kann das Risiko minimieren.

Asynchrone Kommunikation (AJAX, Fetch API)

Definition:

Asynchrone Kommunikation ermöglicht es, Daten vom Server zu laden, ohne die aktuelle Seite neu zu laden.

Details:

  • AJAX: Asynchronous JavaScript and XML
  • Fetch API: modernere Alternative zu AJAX, verwendet Promises
  • Syntax für Fetch API: fetch(url).then(response => response.json())
  • Vorteile: verbessert Benutzerfreundlichkeit, reduziert Ladezeit
  • Beispiel für Nutzung von AJAX mit jQuery: $.ajax({url: 'url', method: 'GET', success: function(data){...}});

NoSQL-Datenbanken und ihre Verwendung

Definition:

NoSQL (Not Only SQL) Datenbanken sind nicht-relationale Datenbanksysteme, die flexibel sind und für bestimmte Anwendungsfälle bessere Leistung bieten können.

Details:

  • Verwendet für große Datenmengen und schnelle Zugriffe
  • Skalierbarkeit: einfach horizontal skalierbar
  • Beispiele: MongoDB, Cassandra, Redis
  • Schemafrei: Datenstruktur kann flexibel angepasst werden
  • Geeignet für unstrukturierte und semi-strukturierte Daten
  • CAP-Theorem: Konsistenz, Verfügbarkeit, Partitionstoleranz

Protokolloptimierung und -sicherheit

Definition:

Optimierung und Absicherung von Netzwerkprotokollen in Web-basierten Systemen.

Details:

  • Optimierung: Reduktion von Latenzen, Erhöhung des Durchsatzes, minimale Overhead.
  • Sicherheit: Schutz gegen Man-in-the-Middle (MITM)-Angriffe, DDoS, SQL-Injection, XSS (Cross-Site Scripting).
  • Tools und Techniken: TLS/SSL für Verschlüsselung, Hashing, digitale Signaturen.
  • Header-Kompression (z.B. HPACK bei HTTP/2).

HATEOAS (Hypermedia as the Engine of Application State)

Definition:

Ein Konzept im REST-Architekturstil, bei dem die Schnittstellen einer API Hypermedia verwenden, um den Zustand und die Interaktionen der Applikation zu steuern.

Details:

  • Teil von Fielding's REST-Architektur (Richardson Maturity Model Level 3).
  • Clients interagieren vollständig durch Hypermedia vom Server.
  • Server sendet Hypermedia-Links mit Antworten, die mögliche nächste Aktionen anzeigen.
  • Beispiel: Ein GET auf /orders enthält Links zu verwandten Bestellungen, Kundeninformationen usw.
  • Ermöglicht lose Kopplung zwischen Client und Server.
  • Erfordert keine Vorab-Kenntnisse der Struktur der API durch den Client.

Cross-Site Scripting (XSS) und Schutzmaßnahmen

Definition:

Art der Sicherheitslücke, bei der Angreifer schädliche Skripte in vertrauenswürdige Webseiten einschleusen.

Details:

  • Typen von XSS: Stored, Reflected, DOM-based
  • Stored XSS: Schadcode wird dauerhaft auf dem Server gespeichert
  • Reflected XSS: Schadcode wird in einer HTTP-Anfrage reflektiert
  • DOM-based XSS: Angriff erfolgt über die Manipulation des DOM-Baums
  • Schutzmaßnahmen:
    • Input Validierung: Eingaben auf Server- und Client-Seite prüfen
    • Output Encoding: Spezielle Zeichen wie <, >, & vor der Ausgabe maskieren
    • Content Security Policy (CSP): Nur bestimmte Scripte erlauben
    • HTTPOnly und Secure Flags: Cookies vor JavaScript-Zugriff schützen
    • Templatesicherheit: Sichere Template-Engines verwenden
    • Bereinigung von Daten: Unnötige Daten vor der Ausgabe entfernen
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden