Was ist ein Fastcgi?
Fastcgi ist eine Erweiterung der Common Gateway Interface (CGI), die von einem inzwischen aufgelösten Unternehmen namens Open Market entwickelt wurde. Fastcgi ist frei als offener Standard erhältlich. Es befasst sich mit bestimmten Mängel in CGI, die die Leistung einschränken.
Im Gegensatz zu CGI erstellt FastCGI für jede Anfrage keinen neuen Prozess, wodurch der Aufwand der Prozesserstellung und -zerstörung jedes Mal minimiert wird, wenn eine Anfrage eingegangen ist. Dieser Overhead kann durch die Verwendung von APIs (Application Program Interfaces) wie Netscape Server Application Programming Interface (NSAPI) oder Internet Server Application Programming Interface (ISAPI) umgangen werden. Da diese jedoch proprietär sind, müssen zusätzliche Lernkurven und Einschränkungen bei unterstützten Sprachen berücksichtigt werden. Ein weiterer Mangel an CGI ist die Tatsache, dass bestimmte Fälle für die Wiederverwendung nicht erhalten werden können, z. B. Verbindungen zu Datenbanken oder Caching -Techniken. Die Anfragehandhabung kann mit FastCGI über herkömmliche CGI bis zu 30 -mal schneller sein.
mit FastCGI, mehrere Anfragen können über eine einzelne Verbindung behandelt werden, die als Multiplexing bezeichnet wird. Alternativ können mehrere Verbindungen verwendet werden. Die Anforderungen werden mithilfe des Dateiübertragungsprotokolls (FTP) oder Sockets übertragen. Die gleiche Verbindung wird dann verwendet, um die Antwort zurückzugeben.
Obwohl die Verbindung zu diesem Zeitpunkt möglicherweise geschlossen wird, bestehen der Webserver und der Prozess weiterhin bestehen. Dies bietet viele Vorteile. Beispielsweise bedeutet dies, dass der Server- und Anwendungsprozess separat heruntergefahren oder neu gestartet werden kann.
Fastcgi wurde ursprünglich vom Open Market entwickelt und im Webserverangebot implementiert. Die Schnittstelle kann jedoch auf jedem Server implementiert werden, und es wurde bald auf einer Reihe anderer Branchen -Webserver vorhanden. FASTCGI ist mit verteiltem Computing stark kompatibel, sodass eine FastCGI -Anwendung auf einem separaten Server mit dem Web -Serve ausgeführt werden kann. Dies bietet alle Vorteile vonVerbesserung der Verfügbarkeit von Systemen, der Verbesserung der Skalierbarkeit und der Erhöhung der Systemsicherheit, da die Komponenten isoliert sind. Durch die Verwendung von Remote FastCGI gibt es weniger Verwaltung, da das interne Netzwerk das Ausführen von Anwendungen verarbeiten kann.
So wie eine CGI -Anwendung eine Antwort aus einer HTTP -Anforderung (Hypertext Transfer Protocol) generieren kann, kann auch FASTCGI. Es werden auch Aufgaben wie Überprüfung der Authentifizierung und Konvertierung von Datentypen übernommen. Diese Aufgaben werden mit Rollen erledigt, die frei hinzugefügt und erweitert werden können.
Fastcgi ist einfach zu verstehen und wird mit fast jeder Programmiersprache ausgeführt. Prozesse sind isoliert, sodass Server nicht durch anwendungsspezifische Probleme abgestürzt werden können. Jede Anwendung, die mit dem FastCGI -Framework erstellt wurde, ist rückwärts, wenn alte Server CGI ausführen. Darüber hinaus wurde die Anwendungsbibliothek so konzipiert, dass die Migration von CGI -Anwendungen einfach ist.