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?
- ADie Prozesse des Programms bleiben resident und werden wiederverwendet, sodass das Starten und Initialisieren eines Prozesses für jede Anfrage entfällt
- BSie kommunizieren mit den Nutzern über UDP statt über HTTP, sodass der Aufbau einer TCP-Verbindung für jede Anfrage entfällt
- 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.