CGI・Perl・PHPとの違い
JavaScriptは、CGIやPerl、PHPとどのように違うのでしょうか?
本ページでは、プログラム実行方式やプログラミング言語の違い、サーバーサイドとクライアントサイドの違いについて説明しています。
プログラム実行方式
CGI(Common Gateway Interface)は、プログラム実行方式の1つです。Webサーバーでのプログラム実行方式は、以前からCGIが使われていました。
CGIは、他のプログラミング実行環境を呼び出して動作させるため、動作が遅い欠点がありました。
その欠点を解決するのがモジュール方式です。
モジュール方式は、プログラミング実行環境を常に動作させておくことで、動作が速くなります。
プログラミング言語
JavaScriptは、Webページで使われるプログラミング言語です。
PHPも、プログラミング言語です。Webサーバー専用に開発され、CGI版とモジュール版があります。元々Webサーバー専用に作られているため、HTMLに直接記述して動的なページを簡単に作ることができます。
Perlは、一般的なアプリケーションを作るために使われるプログラミング言語です。Webサーバー専用ではないため、ApacheなどのWebサーバー機能からCGIを使って呼び出されます。
サーバーサイドとクライアントサイド
Perl、PHPともにサーバー側で動作します。これをサーバーサイド・スクリプトと呼びます。サーバーサイド・スクリプトをレンタルサーバーなどで利用する時は、レンタルサーバーがサポートしている必要があります。
JavaScriptは、パソコン側で動作します。このため、クライアントサイド・スクリプトと呼ばれます。クライアントサイド・スクリプトを利用する時は、サーバー側でのサポートは関係なく、ブラウザで許可されていれば動作します。
サーバーサイド・スクリプトは、サーバー上のファイルに書き込んだりできます。このため、アンケートフォームに記述して貰ったデータをサーバーに保存する、誰でも書き込みできる掲示板を作るといったプログラムが作成できます。
JavaScriptはパソコン上で動作するため、サーバー側のファイルに書き込んだりできません。ボタンをクリックすると結果を表示したり、パソコンの環境によって表示を変えたりすることができます。
Node.js
JavaScriptはクライアントサイド・スクリプトと説明しましたが、最近はサーバーサイドでも動作させることができます。
Node.jsをWebサーバーとして動作させることで、サーバー側でJavaScritpを動作させることができます。
Node.jsは非常に高速で、ページを再読み込みしなくてもサーバー側に書き込まれた情報をリアルタイムに反映することができます。