PHP を使用してバックエンド コードを記述する場合、Apache または Nginx HTTP サーバーが必要であり、mod_php5 モジュールと php-cgi が必要です。
この観点から言えば、「HTTP リクエストを受け取り、Web ページを提供する」という要件全体を PHP で処理する必要はありません。
しかし、Node.js の場合、概念はまったく異なります。 Node.js を使用する場合、アプリケーションを実装するだけでなく、HTTP サーバー全体を実装します。 実際、私たちの Web アプリケーションと対応する Web サーバーは基本的に同じです。
最初の Node.js "Hello, World!" アプリケーションを作成する前に、Node.js アプリケーションがどの部分で構成されているかを理解しましょう:
<オール>require 命令: Node.js では、require 命令を使用してモジュールをロードおよびインポートします。インポートされたモジュールは、組み込みモジュール、サードパーティ モジュール、またはカスタム モジュールです。
サーバーを作成する: サーバーは、Apache や Nginx などの HTTP サーバーと同様に、クライアント リクエストをリッスンできます。
リクエストの受信とリクエストへの応答 サーバーは簡単に作成できます。クライアントはブラウザまたは端末を使用して HTTP リクエストを送信でき、サーバーはリクエストを受信した後に応答データを返します。
文法形式は次のとおりです:
const module = require('module-name');
その中で、module-name はファイル パス (相対パスまたは絶対パス) またはモジュール名にすることができます。モジュール名の場合、Node.js は node_modules ディレクトリからモジュールを自動的に検索します。
require コマンドは、ロードされたモジュールのエクスポートされたオブジェクトを返します, それを通じて, モジュールで定義されたプロパティとメソッドにアクセスできます. モジュールに複数のエクスポートされたオブジェクトがある場合, それらは代入を分割することによって取得できます.
require コマンドを使用して http モジュールをロードし、インスタンス化された HTTP を変数 http に割り当てます。例は次のとおりです。
var http = require("http");
次に、http.createServer() メソッドを使用してサーバーを作成し、listen メソッドを使用してポート 8888 をバインドします。 この関数は、要求パラメーターと応答パラメーターを介してデータを受信し、応答します。
例は次のとおりです。プロジェクトのルート ディレクトリに server.js というファイルを作成し、次のコードを記述します。
var http = require('http');
http.createServer(function (request, response) {
// HTTP ヘッダーを送信
// HTTP ステータス値: 200 : OK
// コンテンツ タイプ: テキスト/プレーン
response.writeHead(200, {'Content-Type': 'text/plain'});
// 応答データ「Hello World」を送信
response.end('Hello World\n');
}).listen(8888);
// 端末は次の情報を出力します
console.log('Server running at http://127.0.0.1:8888/');
上記のコードで、HTTP サーバーが動作しています。
node コマンドを使用して上記のコードを実行します。
node server.js Server running at http://127.0.0.1:8888/

次に、ブラウザを開いて http://127.0.0.1:8888/ にアクセスすると、次のようなメッセージが表示されます。 「Hello World」Web ページ。

Node.js HTTP サーバーの分析:
次に、Gif 画像を使用して操作例を示します。
