Kompakte Zusammenfassung der Kapitel

Kapitel 1: Einführung

  • Virtual Hosting: Zielt darauf ab, mehrere Domains auf einer IP-Adresse zu hosten, um die begrenzten IPv4-Adressen (ca. 4 Milliarden) effektiv zu nutzen.
    • Ursachen für den Mangel: Ungleichgewicht in der IP-Adressenverteilung, mehr Domains als verfügbarer IP-Adressen.
    • Schlüsselkonzept: Host Header: Ermöglicht dem Webserver zu erkennen, welche Website angefragt wird.

Kapitel 2: Implementierung

  • Um Virtual Hosting zu unterstützen, muss der Host Header im HTTP-Request verarbeitet werden.
  • Wenn der Host Header nicht vorhanden ist, muss der Server die Standardinhalte anzeigen.
  • Die Implementierung erfordert, dass der Server entsprechend auf unterschiedliche Host Header reagiert, um die richtigen Verzeichnisse anzuzeigen (z.B. extern oder intern).

Kapitel 3: Umgang mit Fehlermeldungen

  • Wenn eine ungültige Domain angefordert wird, sollte ein HTTP-404-Fehler zurückgegeben werden.
  • Bei nicht korrektem oder fehlendem Host Header soll weiterhin der Standardinhalt angezeigt werden.

Kapitel 4: Anforderungen an die Dokumentation

  • Strukturierte und klare Dokumentation ist erforderlich, um den Code verständlich zu machen.
  • Inlines-Kommentare sollten nur verwendet werden, wenn der Code nicht selbsterklärend ist.
  • Doxygen kann zur Erstellung von HTML-Dokumentation aus Quellcode verwendet werden.

Kapitel 5: Testfälle

  • Minimum von 15 Testfällen, die auch ungültige HTTP-Anfragen abdecken, sind vorgeschrieben.
  • Die Implementierung sollte sicherstellen, dass alle Rückgaben den HTTP-Standards entsprechen, und bei ungültigen Anfragen konsistent auf Fehler 400 reagieren.

Kapitel 6: Richtlinien für Fehlermanagement

  • Vorzeitiges Abbrechen der Verarbeitung ungültiger Anfragen verringert die Wahrscheinlichkeit von Programmfehlern.
  • Der Server muss fähig sein, gültige HTTP-Antworten, auch bei fehlerhaften Anfragen, zurückzugeben.

Kapitel 7: Abschluss

  • Dokumentation der Überprüfung und eventuelle Anpassungen des Codes sind notwendig, bevor der Code weitergereicht wird.