PHP・CGI等との違い/JavaScript

PHPやCGIは、JavaScriptとどのように違うのでしょうか?

本項では、プログラム実行方式やプログラミング言語の違い、サーバーサイドやクライアントサイドの違い等について説明しています。

プログラム実行方式

 Webサーバーでのプログラム実行方式は、以前からCGI(Common Gateway Interface)が使われていました。

 CGIは、他のプログラミング実行環境を呼び出して動作させるため、動作が遅い欠点がありました。

CGIの動作イメージ

 その欠点を解決するのがモジュール方式です。

モジュールの動作イメージ

 モジュール方式は、プログラミング実行環境を常に動作させておく事で、動作を速くする事が出来ます。

プログラミング言語

 Perlは、一般的なアプリケーションを作るために使われるプログラミング言語です。Webサーバー専用ではないため、Apache等のWebサーバー機能からCGIを使って呼び出されます。

 PHPは、Webサーバー専用プログラミング言語として開発され、CGI版とモジュール版があります。元々Webサーバー専用に作られているため、HTMLに直接記述して動的なページを簡単に作る事が出来ます。

 JavaScriptは、PerlやPHPと同じでプログラム言語です。

サーバーサイドとクライアントサイド

 Perl、PHP共にサーバー側で動作します。これをサーバーサイド・スクリプトと呼びます。サーバーサイド・スクリプトをレンタルサーバー等で利用する時は、レンタルサーバーがサポートしている必要があります。

サーバーサイド・スクリプトの動作イメージ

 JavaScriptは、パソコン側で動作します。このため、クライアントサイド・スクリプトと呼ばれます。クライアントサイド・スクリプトを利用する時は、サーバー側でのサポートは関係なく、ブラウザで許可されていれば動作します。

クライアントサイド・スクリプトの動作イメージ

 サーバーサイド・スクリプトは、サーバー上のファイルに書き込んだり出来ます。このため、アンケートフォーム等に記述して貰ったデータをサーバーに保存する、誰でも書き込み出来る掲示板を作るといったプログラムが作成出来ます。

 JavaScriptはパソコン上で動作するため、サーバー側のファイルに書き込んだり出来ません。ボタンをクリックすると結果を表示したり、パソコンの環境によって表示を変えたりする事が出来ます。

Node.js

 JavaScriptはクライアントサイド・スクリプトと説明しましたが、最近はサーバーサイドでも動作させる事が出来ます。

 Node.jsをWebサーバーとして動作させる事で、サーバー側でJavaScritpを動作させる事が出来ます。

 Node.jsは非常に高速で、ページを再読み込みしなくてもサーバー側に書き込まれた情報をリアルタイムに反映する事が出来ます。

  • このエントリーをはてなブックマークに追加