2009-07-21 6 views
17

私は一般的なWebプログラミング言語の速度はかなり上がっていますが、私が今作業しているツールの1つはCGIです。私が知る限り、CGIスクリプトは非常に遅いです。最近使用されているCGIスクリプトは何ですか?

今日でもCGIはまだよく使用されていますか?もしそうでなければ、それは何に置き換えられましたか?
CGIがまだ生きていて積極的に使用されているニッチ機能はありますか?

+0

私はこれまでに2つの答えを読んだことがあります。私の質問は、CGIが生きていて使用されるようなニッチ機能はありますか? – Smandoli

+0

オクラホマ、私は今受け入れを削除します、それはまた面白い点です。 – Dirk

+0

はコミュニティウィキにする必要があります – SilentGhost

答えて

14

CGIは、などのJava EE、Strutsの、春、など、さまざまな味やフレームワークのPHP、mod_perlのような様々なApacheの拡張機能、ジャワなどのWebプログラミング技術の広大な様々なジャンゴ、RubyのようなPythonベースのフレームワークを交換されていますRailsと他の多くのRubyフレームワーク、そして様々なMicrosoft技術をサポートしています。

CGIはまだの何かのに使用されていますが、私はそれがほとんど何年も座っていたコードのほんの少しだと思います。 Wikipediaは、FastCGIがCGIに似ていますが、大きなパフォーマンス上の欠点がないことを参考にしています。

+0

OKありがとう、ただ確かに:) – Dirk

+1

CGIゲートウェイを介して実行ファイルが呼び出され、埋め込まれた世界でCGIを使用しています。実際にコンパイルされた実行可能ファイルが実際にコンパイルされているため、しかし、PHPやJavaでWebページを書くのは、Cで行うよりもはるかに簡単で簡単です。 – Claudix

0

ASP、PHP、ASP.Netでは、Ruby on Railsは最近、大きな打撃を受けています。

0

CobolやFortranのように、CGI上に構築されたいくつかの大きなマネーシステムがありますが、これは将来もうまく維持されます。

新しいソフトウェアは、時にはこれらの技術すべてで構築されているわけではありません。

4

多くのレガシーWebサイトは今日もcgiで構築されていますが、最近人々はそれから離れています。私が知っているCGIをまだ使用している有名なアプリケーションの1つはMovableType blogです。

0

私が数ヶ月前に残したプロジェクトは、依然としてCGIを使用しています。しかし、このサイトは非常に小さなユーザーセット(約40人のユーザーしかなく、たぶん5人以下のユーザーが頻繁に使用します)のサイトです。ハードウェアが3〜4回交換されている間、そのコードの一部はほとんど変更されずに、ほぼ10年間実行されています。私は他のテクノロジーがパフォーマンスの向上をもたらすと確信していますが、現在のパフォーマンスは受け入れられ、変更を行う人材は短く、広範囲に広がっており、Web技術に精通していません。これは、 "それが壊れていなければ、それを修正しないでください!"という態度につながります。

私が使用した/調査する予定の代替品:新しいポジションでは、PHPでWebアプリケーションを開発しました。しかし、私はPythonのファンであり、すぐにWSGIを調べる予定です。私は自主的に非営利を維持しているサイトでAJAXを使ってCGIプログラムを置き換える予定です。

+1

AJAX *はCGIプログラムをどのように置き換えますか? AJAXはサーバー側の技術ではありません。単なるページの読み込みを行わずにサーバー側のスクリプトを実行する技術です。 – DisgruntledGoat

+0

@DisgruntledGoat:現在、このページには、バックエンドデータベースのデータとその表の下にあるフォームの表が表示されます。ユーザーがフォームを介してデータを送信すると、CGIプログラムはテーブルの1つのセルを処理して更新します。私はまだ実際にAJAXを行っていないので、基本的には外れているかもしれませんが、私の計画はテーブルをフォームにして別のフォームを削除し、AJAXを使ってユーザーのエントリを処理し、データベースを直接更新します。 – PTBNL

2

私は、まだ効果的にCGIスクリプトを使用している、活発に開発されている2つのプロジェクトを知っています。

最初はWebmin私が長年にわたって使ってきたWebベースのシステム管理ツールです。

GitWebは、GitリポジトリにWebインターフェイスを設定できるようにします。

CGIの速度(またはその欠如)に関しては、私はそれについて実際にコメントすることはできません。 Webminでの私の経験から、私はその前に何か問題があったとは言えません。

0

私はかなり確信していますPayPalまだCGIを使用しています...

26

CGIがプロトコルであるCGI経由PHP、PythonやPerlのようにサーバー側の言語を提供し、それは動的なページを作成するための最も基本的かつ最も標準的な方法です。

それが有用である多くの例があります:あなたは、mod_XYZのない言語での基本的なアプリケーションを作成する場合

  1. は、計算集約的であってもよいこと、のは、CまたはHaskellのを言ってみましょう。
  2. メモリが高価で、常にメモリに保持するのではなく、CGIスクリプト を生成することが望ましい組み込みシステムでは、
  3. サーバー側のソフトウェアを必要なテクノロジに書き込むための柔軟性を提供するホスティングサービスでは、しかし、大統領アプリケーションをFastCGI(たとえば、Sourceforgeホスティング)を使用してメモリに保持しないでください。
  4. CGIの負荷が低いため、要求ごとにアプリケーションを生成することはありません。たとえば、MoveableTypeのようなブログでは、CGIを介して更新のみが行われ、残りのすべては静的ページを介して に提供され、必要に応じてCGIスクリプトが変更されます。したがって、CGIスクリプト を生成するコストは非常に低くなります。
  5. ほとんどのコンテンツが静的なページであり、thttpdのようなサーバーでコンテンツを提供したい場合、サポートされているCGI経由で実行できる操作はほとんどありません。

そう... CGIは、単にものを行うできるように、シンプルでありながら、まだAPI非常に便利です。

たとえば、サーバーの稼働時間

#!/bin/bash 
echo Content-Type: text/plain 
echo 
uptime 

を示したスクリプトは、依存Webサーバ、単純簡単かつ以下とすることができますか?

2

移植(PHPなど)がオプションでないリアルタイムオペレーティングシステム。

1

私はまだphp言語をサポートしていない組み込みコンピュータで使用しています。

関連する問題