Hypertext Transfer Protocol (HTTP)
Das Hypertext Transfer Protocol (HTTP) ist ein Protokoll zur Übertragung von Daten im Web.
Klassifikation
- KomplexitätNiedrig
- AuswirkungTechnisch
- EntscheidungstypTechnisch
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Datenübertragungsfehler
- Angriffe auf Webanwendungen
- Performance-Probleme
- HTTPS für die Sicherheit verwenden
- Caching zur Leistungsoptimierung nutzen
- Regelmäßige Sicherheitsupdates durchführen
I/O & Ressourcen
- Benutzeranfrage
- Serververbindung
- Ressourcendeskriptor
- Hypertext-Dokument
- Datenantwort
- Serverstatus
Beschreibung
HTTP ist das fundamentale Protokoll des World Wide Web. Es ermöglicht das Abrufen von Informationen und den Austausch von Daten zwischen Clients und Servern über das Internet. HTTP ist einfach, leichtgewichtig und ermöglicht eine effiziente Kommunikation.
✔Vorteile
- Ermöglicht den Zugriff auf Webinhalte
- Unterstützt verschiedene Datenformate
- Einfach in der Anwendung
✖Limitationen
- Sicherheitsrisiken bei der Übertragung
- Begrenzungen bei der Datenmenge
- Mögliche Verzögerungen
Trade-offs
Metriken
- Ladezeit
Die Zeit, die zum Laden einer Webseite benötigt wird.
- Fehlerrate
Der Prozentsatz der fehlgeschlagenen Anfragen.
- Bandbreitenauslastung
Der Anteil der genutzten Bandbreite im Vergleich zur Gesamtbandbreite.
Beispiele & Implementierungen
W3Schools
W3Schools nutzt HTTP für das Laden von Inhalten auf seiner Website.
Google API
Die Google API verwendet HTTP für die Kommunikation zwischen Clients und Diensten.
Mozilla Developer Network
MDN verwendet HTTP, um Entwicklertools und Dokumentationen bereitzustellen.
Implementierungsschritte
Einrichten des Server
Konfigurieren der Client-Einstellungen
Testen der Verbindung
⚠️ Technische Schulden & Engpässe
Tech Debt
- Unoptimierte Server-Konfigurationen
- Veraltete Sicherheitszertifikate
- Redundante HTTP-Anfragen
Bekannte Engpässe
Beispiele für Missbrauch
- Verwendung in unsicheren Netzwerken
- Übertragungen von sensiblen Daten ohne Verschlüsselung
- Mangelnde Validierung von Benutzeranfragen
Typische Fallen
- Erwartung von Leistungsverbesserungen ohne Caching
- Ignorieren von Sicherheitsüberprüfungen
- Vernachlässigung von Updates
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Abhängigkeit von Netzwerkverbindungen
- • Einhaltung von Standards
- • Berücksichtigung von Browserkompatibilität