ホームページ >ウェブフロントエンド >フロントエンドQ&A >Node.js を使用してリクエストをリッスンする方法

Node.js を使用してリクエストをリッスンする方法

PHPz
PHPzオリジナル
2023-04-17 15:00:541378ブラウズ

Node.js は非常に人気のあるサーバーサイド JavaScript 環境であり、その主な利点の 1 つは、大量の同時リクエストを効率的に処理できることです。この記事では、Node.js を使用してリクエストをリッスンする方法を紹介します。

Node.js を使用してリクエストをリッスンするには、まずサーバーを作成する必要があります。 Node.js では、組み込みの http モジュールを使用してサーバーを作成できます。簡単なサーバーの例を次に示します。

const http = require("http");

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "text/plain" });
  res.write("Hello, World!");
  res.end();
});

server.listen(3000, () => {
  console.log("Server listening on port 3000");
});

この例では、サーバーを作成し、ポート 3000 でリクエストをリッスンします。リクエストを受信すると、サーバーは「Hello, World!」メッセージを含む HTTP 応答を返します。

これでサーバーを起動し、ブラウザーを使用してアクセスできるようになります。ブラウザに http://localhost:3000 と入力するだけで、「Hello, World!」というメッセージが表示されます。これは、サーバーが正常に動作しており、リクエストをリッスンしていることを意味します。

Node.js を使用して実際のリクエストをリッスンする例をいくつか見てみましょう。

GET リクエストの処理

最初の例:

const http = require("http");

const server = http.createServer((req, res) => {
  if (req.method === "GET" && req.url === "/") {
    res.writeHead(200, { "Content-Type": "text/plain" });
    res.write("Hello, World!");
    res.end();
  } else {
    res.writeHead(404, { "Content-Type": "text/plain" });
    res.write("404 Not Found");
    res.end();
  }
});

server.listen(3000, () => {
  console.log("Server listening on port 3000");
});

この例では、GET リクエストのみを処理し、ルート パスからのリクエストのみを受け入れました/ request 。要求された URL が / ではない場合、404 Not Found エラーが返されます。

POST リクエストの処理

POST リクエストを処理する場合は、Node.js の組み込み querystring モジュールを使用してリクエスト本文のデータを解析する必要があります。簡単な例を次に示します。

const http = require("http");
const qs = require("querystring");

const server = http.createServer((req, res) => {
  if (req.method === "POST" && req.url === "/") {
    let body = "";
    req.on("data", (chunk) => {
      body += chunk;
    });
    req.on("end", () => {
      const data = qs.parse(body);
      res.writeHead(200, { "Content-Type": "text/plain" });
      res.write(`Hello, ${data.name}!`);
      res.end();
    });
  } else {
    res.writeHead(404, { "Content-Type": "text/plain" });
    res.write("404 Not Found");
    res.end();
  }
});

server.listen(3000, () => {
  console.log("Server listening on port 3000");
});

この例では、POST リクエストを処理し、リクエスト本文のデータを解析します。応答では、リクエスト本文の名前を使用してパーソナライズされたメッセージを作成しました。

静的ファイルの処理

実際のアプリケーションでは、通常、Node.js サーバー上で静的ファイル サービスを提供します。これを行うには、express フレームワークと serve-static モジュールを使用して静的ファイルの提供を有効にします。 expressserve-static を使用した例を次に示します。

const express = require("express");
const serveStatic = require("serve-static");

const app = express();
app.use(serveStatic("public", { index: false }));

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`Server listening on http://localhost:${port}`);
});

この例では、提供される静的ファイルが配置されているディレクトリを指定します (この例では、この例では、これは public ディレクトリです) を serve-static ミドルウェアに渡します。次に、ミドルウェアを app インスタンスに追加します。これで、express を使用して静的ファイル サービスを作成し、ポート 3000 でリクエストをリッスンできるようになりました。

結論

上記は、Node.js でリクエストをリッスンして処理する例をいくつか示しています。アプリケーションシナリオが異なれば、必要な方法も異なります。 Node.js の組み込み HTTP モジュールを使用すると、リクエストをリッスンするサーバーを簡単に作成でき、いくつかのミドルウェアを介してさまざまな種類のリクエストを簡単に処理することもできます。これらの例が、Node.js でリクエストをリッスンする方法を理解するのに役立つことを願っています。

以上がNode.js を使用してリクエストをリッスンする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。