Grundlagen der Webtechnologien

Bei CGI startet der Webserver bei jeder Anfrage das Programm als neuen Prozess, und der Prozess endet, wenn die Verarbeitung abgeschlossen ist. Was ist der Hauptgrund dafür, dass FastCGI und Anwendungsserver viele Anfragen effizienter verarbeiten können als CGI?

  1. ADie Prozesse des Programms bleiben resident und werden wiederverwendet, sodass das Starten und Initialisieren eines Prozesses für jede Anfrage entfällt
  2. BSie kommunizieren mit den Nutzern über UDP statt über HTTP, sodass der Aufbau einer TCP-Verbindung für jede Anfrage entfällt
  3. CSie senden das Programm an den Browser und lassen es dort ausführen, sodass der Server keine Anfragen verarbeiten muss
Antwort und Erläuterung anzeigen

Antwort: A. Die Prozesse des Programms bleiben resident und werden wiederverwendet, sodass das Starten und Initialisieren eines Prozesses für jede Anfrage entfällt

CGI ist ein einfacher Mechanismus, bei dem der Webserver die Informationen der Anfrage über Umgebungsvariablen und die Standardeingabe an das Programm übergibt und das, was das Programm auf die Standardausgabe schreibt, als Antwort zurückgibt. Allerdings startet er für jede Anfrage einen Prozess, und das Laden der Laufzeitumgebung der Sprache sowie der Verbindungsaufbau zur Datenbank werden jedes Mal wiederholt, sodass die Last bei vielen Anfragen hoch wird. FastCGI und die Anwendungsserver der einzelnen Sprachen halten das Programm resident, verbinden es etwa über Sockets mit dem Webserver und verarbeiten viele Anfragen nacheinander.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen der Webtechnologien

  1. Welches Verfahren zum Erzeugen der Seiten einer Website erzeugt die HTML-Dateien aller Seiten bereits beim Build und gibt auf Anfragen diese Dateien unverändert zurück?
  2. Welche Kombination nennt die Elemente der ersten Zeile (der Anfragezeile) einer HTTP/1.1-Anfrage richtig?
  3. Welche HTTP-Methode ist zwar nicht „sicher“ (sicher heißt: Sie soll den Zustand der Ressourcen auf dem Server nicht verändern), aber „idempotent“ (dieselbe Anfrage beliebig oft zu senden, führt zum selben Zustand wie einmaliges Senden)?
  4. Welche Zuordnung eines Statuscodes zu seiner Bedeutung ist bei HTTP richtig?
  5. Auf einer Website nur für Mitglieder fordert ein angemeldetes gewöhnliches Mitglied eine Seite an, die nur Administratoren erlaubt ist. Der Server weiß, wer der Nutzer ist, erlaubt den Zugriff auf diese Seite aber nicht. Welcher Statuscode ist hier als Antwort am besten geeignet?