Einführung in HTTP/HTTPS
HTTP (Hypertext Transfer Protocol) ist das Fundament der Datenkommunikation im World Wide Web. Es definiert, wie Nachrichten formatiert und übertragen werden sowie welche Aktionen Webserver und Browser als Antwort auf verschiedene Befehle ausführen sollen.
Grundlagen der Client-Server-Kommunikation
Abschnitt betitelt „Grundlagen der Client-Server-Kommunikation“Die Webkommunikation basiert auf dem Client-Server-Modell:
-
Client (z.B. Browser oder Mobile App)
- Sendet Anfragen (Requests)
- Verarbeitet und zeigt Antworten an
-
Server
- Empfängt und verarbeitet Anfragen
- Sendet Antworten (Responses) zurück
Der HTTP-Kommunikationsprozess
Abschnitt betitelt „Der HTTP-Kommunikationsprozess“- Der Client stellt eine Verbindung zum Server her
- Der Client sendet eine Anfrage mit Methode, URL und optionalen Daten
- Der Server verarbeitet die Anfrage
- Der Server sendet eine Antwort mit Statuscode und Daten
- Die Verbindung wird geschlossen oder für weitere Anfragen genutzt
Client Server | | |------- GET /api/users HTTP/1.1 ------------------> | | | | Verarbeitung | | | |<------ HTTP/1.1 200 OK {"users": [...]} ---------- | | |HTTP vs. HTTPS
Abschnitt betitelt „HTTP vs. HTTPS“HTTP (Hypertext Transfer Protocol)
Abschnitt betitelt „HTTP (Hypertext Transfer Protocol)“- Standardprotokoll für Webkommunikation
- Unverschlüsselt: Daten werden im Klartext übertragen
- Port 80: Standardport für HTTP-Verbindungen
- Schneller: Geringfügig schneller als HTTPS, da keine Verschlüsselung stattfindet
HTTPS (HTTP Secure)
Abschnitt betitelt „HTTPS (HTTP Secure)“- Sichere Variante von HTTP
- Verschlüsselt: Verwendet TLS/SSL zur Verschlüsselung der Daten
- Port 443: Standardport für HTTPS-Verbindungen
- Sicherer: Schützt vor Abhören und Man-in-the-Middle-Angriffen
- Vertrauenswürdiger: Websites werden durch Zertifikate authentifiziert
Warum HTTPS wichtig ist
Abschnitt betitelt „Warum HTTPS wichtig ist“- Datenschutz: Schützt sensible Benutzerdaten (Passwörter, Kreditkartendaten)
- Integrität: Stellt sicher, dass Daten nicht manipuliert wurden
- Authentizität: Bestätigt die Identität der Website
- SEO-Vorteile: Besseres Ranking in Suchmaschinen
- Moderne Features: Viele moderne Web-APIs funktionieren nur mit HTTPS
HTTP-Anfragen und -Antworten
Abschnitt betitelt „HTTP-Anfragen und -Antworten“Anatomie einer HTTP-Anfrage
Abschnitt betitelt „Anatomie einer HTTP-Anfrage“GET /api/users HTTP/1.1Host: example.comAccept: application/jsonAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...- Startzeile: Methode, Pfad, HTTP-Version
- Header: Metadaten zur Anfrage
- Body (optional): Daten, die gesendet werden (bei POST, PUT, etc.)
Anatomie einer HTTP-Antwort
Abschnitt betitelt „Anatomie einer HTTP-Antwort“HTTP/1.1 200 OKContent-Type: application/jsonDate: Wed, 04 Jun 2025 08:15:32 GMT
{"users": [{"id": 1, "name": "Max Mustermann"}, ...]}- Statuszeile: HTTP-Version, Statuscode, Statustext
- Header: Metadaten zur Antwort
- Body (optional): Zurückgegebene Daten
Bedeutung für den MERN Stack
Abschnitt betitelt „Bedeutung für den MERN Stack“Im MERN Stack ist HTTP/HTTPS essentiell für die Kommunikation zwischen:
- React Frontend und Express Backend: Austausch von Daten über API-Aufrufe
- Express Backend und MongoDB: Datenbankabfragen (obwohl meist über spezielle Treiber)
Bei der Entwicklung einer MERN-Anwendung:
- Das React Frontend sendet HTTP-Anfragen an API-Endpunkte
- Express verarbeitet diese Anfragen und interagiert mit MongoDB
- Express sendet HTTP-Antworten mit Daten zurück an das Frontend
Übung: HTTP-Kommunikation verstehen
Abschnitt betitelt „Übung: HTTP-Kommunikation verstehen“Zusammenfassung
Abschnitt betitelt „Zusammenfassung“HTTP/HTTPS bildet das Rückgrat der Webkommunikation und ist damit auch zentral für MERN-Stack-Anwendungen. Es definiert, wie Clients und Server miteinander kommunizieren:
- HTTP ist ein textbasiertes Protokoll für den Datenaustausch im Web
- HTTPS fügt Verschlüsselung und Authentifizierung hinzu
- Die Kommunikation folgt einem Request-Response-Modell
- Anfragen und Antworten bestehen aus Startzeile, Headern und optionalem Body
Im nächsten Kapitel werden wir uns mit den verschiedenen HTTP-Requestmethoden befassen, die definieren, welche Aktionen auf dem Server ausgeführt werden sollen.