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の使い方と注意点について(推奨)

推薦する

Linuxカーネルマクロcontainer_ofの詳細な分析

1. 前述の通り数年前、Linux ドライバーのコードを読んでいたときにこのマクロを見ました。長い間...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

テキストエリアの使用に関する注意事項

なぜテキストエリアについて具体的に言及するのでしょうか?なぜなら、textarea ノードは実際には...

MacOS に MySQL 8.0 をインストールして MySQL にログインする方法

公式チュートリアルに従って、インストール パッケージをダウンロードし、[インストール] をクリックし...

WeChatミニプログラムにナビゲーション機能を実装する方法

1. レンダリング2. 操作手順1. テンセントマップキーを申請する - 住所2. ミニプログラムの...

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...

Docker コンテナのカスタム ホストのネットワーク アクセス操作

docker-compose.yml に extra_hosts キーワードを追加すると、コンテナの...

mysql8 共通テーブル式 CTE 使用例の分析

この記事では、例を使用して、MySQL 8 の共通テーブル式 (CTE) の使用方法を説明します。ご...

CSSボックスモデルの紹介を読めば、混乱することはなくなるでしょう

Web デザインでよく耳にするプロパティ名: content、padding、border、marg...

Vueバインディングクラスとバインディングインラインスタイルの実装方法

目次バインディングクラスインラインスタイルのバインディングバインディングクラス方法1:オブジェクト構...

JSはアニメーションのレイアウト変換を実装します

JS でアニメーションを記述する場合、移動前に相対位置を絶対位置に変換してからアニメーション機能を実...

MySQL サーバー 5.7.20 のインストールと設定方法のグラフィック チュートリアル

この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

HTML 選択タグにおける単一選択と複数選択の詳細な説明

select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザ...