私の理解では、FastCGI と Java Servlet API はどちらも Web アプリケーションを開発するための仕様であり、後で 1 つの非常に特殊な Java.
Java で利用可能な Fast CGI API が既にあるのに、Sun Microsystem が Java でアプリケーションを開発するための新しい仕様の必要性を感じたのはなぜですか? Java Servlet API は Fast CGI よりも優れていますか?
サーブレット API には、Web サーバーを Java で記述してアプリケーションを直接呼び出すことができるという「利点」があります。バイトプロトコル (FastCGI) は必要ありません。プロトコルはサーブレット仕様です。
あなたが私に尋ねるなら、それは本当にオレンジにリンゴです。Java 開発者はスタック全体で Java を実行することを好むようで、サーブレットが標準になっています。
Sun がサーブレットを必要とした理由については、明らかだと思います。アプリケーションがサーブレット仕様を使用して開発されている場合は、Java に縛られています。FastCGI を使用している場合は、実際の Web サーバーをいつでも変更できます。しかし、それだけが理由ではありません。また、サーブレットの仕様は、FastCGI インターフェースよりもはるかに野心的です。それに比べて、FastCGI は本当に低レベルです。
低レベル ビューでは、FastCGI は依然としてスクリプトまたはプログラムごとにプロセスを実行します。ただし、サーブレット エンジンはすべてのサーブレットを同じプロセスで実行します。