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

推薦する

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

CSS3で跳ねるボールのアニメーションを実現

私は通常、大手ウェブサイトの特別ページや製品リリースページを訪問するのが好きです。なぜなら、たくさん...

TCPパフォーマンスチューニングの実装原理とプロセス分析

3ウェイハンドシェイクフェーズクライアントSYNパケットの再試行回数sysctl -w net.ip...

ウェブページの画像最適化ツールと使用方法のヒントの共有

ウェブページの基本要素として、画像はページの読み込み速度に影響を与える重要な要素の 1 つです。画像...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

MySQLデュアルマスター(マスターマスター)アーキテクチャ構成ソリューション

企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...

vitrualBox+ubuntu16.04 python3.6 最新チュートリアルと詳細な手順のインストール

最近ディープラーニングを学ぶためにUbuntu+Python 3.6バージョンを使う必要があるため、...

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...

jQuery カスタム虫眼鏡効果

この記事の例では、jQueryのカスタム虫眼鏡効果の具体的なコードを参考までに共有しています。具体的...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

仮想マシンに Linux rhel7.3 オペレーティング システムをインストールする (具体的な手順)

仮想化ソフトウェアをインストールする仮想マシンにオペレーティング システムをインストールする前に、ホ...

MySQL DML言語操作例

追加説明、外部キー: 外部キーを使用しないでください。すべての外部キーの概念はアプリケーション層で解...

nginx で gzip 圧縮を実装してウェブサイトの速度を向上させる方法

目次gzip 圧縮を使用する理由は何ですか? nginxはgzipを実装するgzip処理nginx ...