Heim >Backend-Entwicklung >PHP-Tutorial >Was ist der Unterschied zwischen FastCGI und CGI?

Was ist der Unterschied zwischen FastCGI und CGI?

不言
不言nach vorne
2019-03-21 15:51:263074Durchsuche

In diesem Artikel erfahren Sie, was der Unterschied zwischen FastCGI und CGI ist. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Derzeit verwendet niemand CGI. Es ist unsicher und weist eine extrem geringe Leistung auf. Immer mehr Menschen verwenden integrierte Web-Erweiterungen und fastCGI. Zum Beispiel das ISAPI von Microsoft iis, das PHP-Modul von Apache und das PHP-CGI von Nginx. CGI, integrierte Module und fastcgi sind die drei leistungsstärksten, und fast_cgi ist am schnellsten, erfordert jedoch zusätzliche Prozesse. Lassen Sie uns den Unterschied zwischen CGI und FASTCGI analysieren.

Einführung in die CGI-Methode:

CGI wurde im Jahr 2000 oder früher im Allgemeinen häufiger verwendet , werden nur statische Anfragen verarbeitet. Was soll ich tun, wenn ich auf eine dynamische Anfrage stoße? Der Webserver führt dann einen neuen Prozess aus, um basierend auf dem Inhalt dieser Anfrage ein externes C-Programm (oder Perl-Skript ...) auszuführen. Dieser Prozess sendet die verarbeiteten Daten an den Webserver zurück und sendet sie schließlich Wenn Sie den Inhalt an den Benutzer senden, wird der soeben gegabelte Prozess ebenfalls beendet. Wenn der Benutzer das nächste Mal eine Änderung des dynamischen Skripts anfordert, leitet der Webserver erneut einen neuen Prozess ab und der Prozess wird immer wieder fortgesetzt.

Einführung in webintegrierte Module:

Später wurde eine fortschrittlichere Methode entwickelt, bei der der Webserver über einen integrierten Perl-Interpreter oder PHP-Interpreter verfügen kann. Mit anderen Worten, diese Interpreter werden in Module umgewandelt, und der Webserver startet diese Interpreter, wenn er gestartet wird. Wenn neue dynamische Anfragen eingehen, analysiert der Webserver diese Perl- oder PHP-Skripte selbst, sodass kein erneuter Fork eines Prozesses erforderlich ist und die Effizienz verbessert wird.

Einführung in die Fastcgi-Methode:

Die Fastcgi-Methode besteht darin, dass der Webserver einen Prozess nicht erneut aufteilt, wenn er eine Anfrage empfängt (da dieser Prozess nicht neu ist). Auf dem Webserver gestartet. Es wird geöffnet, wenn die Anforderung gestartet wird, und wird nicht beendet. Der Webserver übergibt den Inhalt direkt an diesen Prozess (Kommunikation zwischen Prozessen, aber Fastcgi verwendet andere Methoden, TCP-Kommunikation). Dieser Prozess verarbeitet die Anforderung nach dem Empfang und gibt das Ergebnis an den Webserver zurück und wartet schließlich auf das Eintreffen der nächsten Anfrage, anstatt zu beenden

Tabelle der Unterschiede zwischen fastcgi und cgi:

Was ist der Unterschied zwischen FastCGI und CGI?

Zum Beispiel: Der Server hat derzeit 100.000 Wörter. Der Client sendet jedes Mal eine Zeichenfolge und fragt, wie vielen Wörtern diese Zeichenfolge vorangestellt ist. Dann können Sie ein Programm schreiben, das einen Trie-Baum erstellt, und dann können Sie in diesem Trie jedes Mal direkt suchen, wenn der Benutzer dies anfordert. Wenn wir jedoch CGI verwenden, ist der Trie nach dieser Anfrage verschwunden. Wenn der Prozess das nächste Mal gestartet wird, muss ein neuer Trie-Baum erstellt werden. Mit fastcgi wird der Trie-Baum in dieser Lektion beim Start des Prozesses erstellt, und Sie können das angegebene Präfix später direkt im Trie-Baum abfragen.


Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen FastCGI und CGI?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen