Skip to main content

FastCGIとは何ですか?

fastCGIは、Open Marketと呼ばれる現在廃止された会社によって開発されたCommon Gatewayインターフェイス(CGI)の拡張です。FastCGIは、オープン標準として自由に利用できます。パフォーマンスを制限するCGIの特定の欠点に対処します。cgiとは異なり、FastCGIは各要求の新しいプロセスを作成しないため、リクエストが受信されるたびにプロセスの作成と破壊のオーバーヘッドを最小限に抑えます。このオーバーヘッドは、Netscape Server Applicationプログラミングインターフェイス(NSAPI)やインターネットサーバーアプリケーションプログラミングインターフェイス(ISAPI)などのアプリケーションプログラムインターフェイス(API)を使用して回避できますが、これらは独自のものであるため、サポート言語には追加の学習曲線と制限があります。考慮される。CGIのもう1つの欠点は、データベースへの接続やキャッシング技術など、再利用の特定のケースを取得できないという事実です。リクエスト処理は、従来のCGIでFastCGIを使用して30倍速くすることができます。FASTCGIを使用すると、複数のリクエストを単一の接続で処理できます。これは多重化と呼ばれます。または、複数の接続を使用できます。リクエストは、ファイル転送プロトコル(FTP)またはソケットを使用して送信されます。その後、同じ接続を使用して応答を返します。connectionこの時点で接続は閉じられている可能性がありますが、Webサーバーとプロセスは引き続き持続します。これは多くの利点を提供します。たとえば、サーバーとアプリケーションプロセスを個別にシャットダウンまたは再起動できることを意味します。ただし、インターフェイスは任意のサーバーに実装でき、他の多くの業界Webサーバーですぐに導入されました。FastCGIは分散コンピューティングと非常に互換性があるため、FastCGIアプリケーションはWebサーバーに別のサーバーで実行される可能性があります。これにより、システムの可用性を向上させ、スケーラビリティを改善し、コンポーネントが分離されているためシステムセキュリティの向上のすべての利点を提供します。リモートFastCGIを使用することで、内部ネットワークがアプリケーションの実行を処理できるため、管理が少なくなります。また、認証の検証やデータ型の変換などのタスクも処理します。これらのタスクは、自由に追加および拡張できるロールを使用して処理されます。プロセスは分離されているため、アプリケーション固有の問題によってサーバーをクラッシュさせることはできません。FastCGIフレームワークで構築されたアプリケーションは、CGIを実行している古いサーバーを使用して後方になります。さらに、アプリケーションライブラリは、CGIアプリケーションの移行をシンプルにするように設計されています。