node.js で Web サーバーを作成する手順の詳細な説明

node.js で Web サーバーを作成する手順の詳細な説明

序文

node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを作成するには、node.js が提供する http モジュールと関連 API を使用するだけです。Java/Python/Ruby で Web サーバーを構築するプロセスと比較すると、はるかに簡単です。

http モデル

Node.js ベースの Web サーバーを作成するには、Node.js が提供する http モジュールを使用する必要があります。Node.js の http インターフェイスは、従来は使い​​にくかったプロトコルの多くの機能をサポートするように設計されています。特に、ブロック エンコードされた可能性のある大きなメッセージの場合、インターフェイスはリクエストや応答全体をバッファリングすることはなく、ユーザーはデータをストリーミングできます。

あらゆる http アプリケーションをサポートするために、node.js の http API は非常に低レベルになっています。つまり、複雑な根本的な問題はすべて node.js によって解決され、モジュールと関連 API にカプセル化されて使用されます。開始するには、node.js の簡潔な構文に従うだけで済みます。

サーバーの作成

まず、http モジュールをインポートし、関連する API を通じていくつかの機能を実装する必要があります。以下は、小さいながらも完全に機能するノード Web サーバーです。

サーバーを作成する前に、これら 2 つの API を確認することをお勧めします。また、戻ってもう一度確認することもできます。

(1)新しく作成されたhttp.Serverインスタンスを返す

http.createServer([オプション][, リクエストリスナー])
  • オプション:<オブジェクト>
  • requestListener: <関数>
  • 戻り値: <http.Server>

(2)HTTPサーバーを起動して接続を待ち受ける

server.listen(ポート、コールバック)
  • ポート:<番号>
  • ポート番号コールバック: <Function> コールバック関数
  • 戻り値: なし

(3)画面上に文字列を印刷する(単純にチャンクを使用する)

response.write(チャンク[, エンコーディング][, コールバック])
  • チャンク:<文字列> | <バッファ>
  • エンコーディング:<文字列> デフォルト値: 'utf8'。
  • コールバック:<Function> コールバック
  • 戻り値: <ブール値>

こんにちは

// コアモジュールをインポート var http = require('http')

// サーバーを作成します (API はインスタンスを返します)
var サーバー = http.createServer()

// バインドポート番号 (3000)
server.listen(3000, () => {
  console.log(`サーバーが正常に起動しました。クライアントの要求を待機しています...`)
})

// クライアントからのリクエストをリッスンする server.on('request', (request, response) => {
  
  // クライアント要求パス console.log(`クライアント要求パスは: ${request.url}`)

  // クライアントに応答する switch(request.url){
    
    case '/':{//ブラウザのデフォルトの動作 response.write(`/`)
      壊す;
    }

    case '/index':{//ホームページ response.write(`/index`)
      壊す;
    }

    case '/loging':{//ログインページ response.write(`/loging`)
      壊す;
    }
    
  }

  // レスポンス完了 response.end()
  
})

hello.js Web サーバーの作成が完了したので、サーバーを起動します。

1. cmdターミナルを開き、hello.jsファイルディレクトリを見つけます(IDE組み込みターミナルでもOK)

ここに画像の説明を挿入

2. hello.jsを起動する

// コマンドノードhello.jsを起動する

ここに画像の説明を挿入

「サーバーが正常に起動しました...」というキーワードが表示された場合は起動が成功したことを示しているので、ブラウザを開いてテストの準備をします。

3. このURLのようにローカルIPアドレスを入力し、ポートは設定されているポートです。デフォルトは8000です。

ここに画像の説明を挿入

ここに画像の説明を挿入

テストリクエスト

ここに画像の説明を挿入

「/」を書かなくても、ブラウザはデフォルトでそれを追加することに注意してください。

ここに画像の説明を挿入

ここに画像の説明を挿入

これで、node.js を使用して Web サーバーを作成する詳細な手順に関するこの記事は終了です。node.js を使用して Web サーバーを作成する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Node.js Web アプリケーションを Docker コンテナにパッケージ化する方法
  • Node.jsは、データ転送操作例のWebSocketハンドシェイクをシミュレートするためにnetモジュールを使用します。
  • Node.js で SVG 画像を PNG、JPEG、TIFF、WEBP、HEIF 形式に変換する方法
  • no-vnc と node.js を使用して Web リモート デスクトップを実装するための完全な手順
  • node.js ws モジュールを使用して Websocket サーバーを構築する方法の例
  • node.jsのwsモジュールはサーバーとクライアント、WebページWebSocketクライアントを作成します
  • Node.js ネイティブ API を使用して Web サーバーを構築する方法
  • node.js開発フレームワークexpressを使用してWebアプリケーションを作成する方法の詳細な説明
  • NODE.JS を使用して WEBSERVER を作成する手順

<<:  スプレッド演算子のサンプルコードと JavaScript での応用

>>:  JavaScriptにおけるPromiseの使い方と注意点について(推奨)

推薦する

IDEA 2020 で Tomcat サーバーを構成するための詳細な手順

IDEA 2020 で Tomcat を構成する手順は次のとおりです。最初のステップはTomcatを...

MySQLのユーザー管理とPostgreSQLのユーザー管理の違い

1. MySQL ユーザー管理[例1.1] ローカルMySQLサーバーのテストデータベースにroot...

Vueタイマーの詳細な使い方

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

ドラッグ可能で編集可能なガントチャートの詳細な説明(HighchartsはVueとReactで使用できます)

序文Excel は強力で、広く使用されています。 Web アプリケーションの登場と改善に伴い、ユーザ...

Vueはユーザーログインとトークン検証を実装します

フロントエンドとバックエンドを完全に分離する場合、Vue プロジェクトでトークン検証を実装する一般的...

Vue カプセル化に基づくプルダウン更新およびプルアップ読み込みコンポーネント

VueとネイティブJavaScriptカプセル化に基づいて、プルダウンリフレッシュとプルアップロード...

Docker ロード後にイメージ名が none になる問題の解決方法

最近、docker load -i コマンドを使用してイメージ パッケージを圧縮した後、イメージ名と...

MySQL レプリケーション メカニズムの原理の説明

背景レプリケーションはデータの完全なコピーです。レプリケーションが必要な理由として、まず思い浮かぶの...

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...

JS を使用してバイナリ ツリー トラバーサル アルゴリズムのサンプル コードを実装する

目次序文1. バイナリツリー1.1. 二分木の走査1.2. jsを使用してバイナリツリーを表現する1...

JavaScript演算子の使用に関するヒントをいくつか共有します

目次1. オプションの連鎖演算子 [? .】 2. 論理的な空の代入 (?? =) 3. 論理和代入...

Centos7 の起動プロセスと Systemd での Nginx の起動構成

Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明

問題の起源docker を使用する場合、残念ながら docker コンテナ内のホストのポート 80 ...

three.js で 3D ダイナミック テキスト効果を実現する方法

序文みなさんこんにちは。CSS ウィザードの alphardex です。以前、海外のウェブサイトを閲...