Basis van webtechnologie
Bij CGI start de webserver bij elk ontvangen verzoek het programma als een nieuw proces, en het proces eindigt als de verwerking klaar is. Wat is de belangrijkste reden dat FastCGI en de aanpak met applicatieservers veel verzoeken efficiënter kunnen afhandelen dan CGI?
- AOmdat de processen van het programma resident blijven en worden hergebruikt, vervalt het werk van het starten en initialiseren van een proces voor elk verzoek
- BOmdat ze met gebruikers communiceren via UDP in plaats van HTTP, vervalt het opzetten van een TCP-verbinding voor elk verzoek
- COmdat ze het programma naar de browser sturen en het daar laten uitvoeren, hoeft de server geen verzoeken te verwerken
Antwoord en toelichting tonen
Antwoord: A. Omdat de processen van het programma resident blijven en worden hergebruikt, vervalt het werk van het starten en initialiseren van een proces voor elk verzoek
CGI is een eenvoudig mechanisme waarbij de webserver de gegevens van het verzoek via omgevingsvariabelen en standaardinvoer aan het programma doorgeeft, en wat het programma naar de standaarduitvoer schrijft als antwoord teruggeeft. Het start echter voor elk verzoek een proces en doet elke keer opnieuw het laden van de runtime van de taal en het verbinden met de database, zodat de belasting bij veel verzoeken zwaar wordt. FastCGI en de applicatieservers van de verschillende talen houden het programma resident, verbinden het via sockets of iets dergelijks met de webserver en verwerken herhaaldelijk veel verzoeken.