ホームページ > 記事 > ウェブフロントエンド > nodejsリクエストプロセス
Node.js は、効率的でスケーラブルな Web アプリケーションの構築に使用できる、イベント駆動型のノンブロッキング I/O モデルに基づくサーバーサイド JavaScript 環境です。 Node.js のリクエスト処理プロセスでは、HTTP サーバーとルーティングの実装にそれぞれ焦点を当てる必要があります。
HTTP サーバー
Node.js の HTTP サーバー モジュール http モジュールは、HTTP サーバーを作成するための createServer() メソッドを提供します。クライアントがサーバーにリクエストを送信するたびに、このメソッドはサーバー インスタンスを返し、このインスタンスを監視して応答できるようにします。
HTTP サーバーの作成
const http = require('http'); http.createServer((request, response) => { // 请求处理 }).listen(8080);
HTTP サーバーのリクエスト イベント
ユーザーが HTTP リクエストをサーバーに送信するたびに、サーバーは http.IncomingMessage オブジェクトとトリガーを自動的に生成します。 request イベント。これを通じて HTTP リクエストを受信して処理できます。 http.IncomingMessage オブジェクトには、リクエスト パス、リクエスト メソッド、リクエスト ヘッダー、リクエスト本文など、リクエストによって運ばれるすべてのデータも含まれます。
const http = require('http'); http.createServer((request, response) => { // request事件 request.on('data', (chunk) => { console.log(chunk.toString()); }); // 处理请求 response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World '); }).listen(8080);
ルーティング
ルーティングとは、URL リクエスト パスに従って対応するプロセッサを照合することを指し、それによってさまざまな URL アクセス方法と効果を実現します。
ルーティングの実装
JavaScript オブジェクトを使用して、さまざまな URL に対応するプロセッサ メソッドを保存し、http サーバーのリクエスト イベント内のリクエスト パスに従ってオブジェクトを照合できます。処理に対応するプロセッサ メソッドを見つけます。
const http = require('http'); const urlHandler = { '/': function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World '); }, '/about': function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('About page '); } }; http.createServer((request, response) => { const path = request.url; if (urlHandler[path]) { urlHandler[path](request, response); } else { response.writeHead(404, {'Content-Type': 'text/plain'}); response.end('404 Not Found '); } }).listen(8080);
上記は、Node.js のリクエスト処理プロセスの単純な実装です。HTTP サーバーとルーティング モジュールの共同作業を通じて、さまざまな興味深い Web アプリケーションを実装するための効率的でスケーラブルな Web サーバーを構築できます。 .プログラム。
以上がnodejsリクエストプロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。