Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明

青灯夜游
リリース: 2021-06-11 10:32:23
転載
2228 人が閲覧しました

この記事では、Node.js を使用して単純な HTTP サーバーを構築し、コンピューター リソースの操作を試みます。一定の参考値があるので、困っている友達が参考になれば幸いです。

Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明

#HTTP サービスとは何ですか?

HTTP プロトコルとは何ですか?

  • ハイパーテキスト転送プロトコル。アプリケーション層プロトコルであり、コンピュータの世界と仕様の 2 つのポイント間でテキスト、画像、オーディオ、ビデオ、およびその他のハイパーテキスト データを送信するための規約です。

[推奨学習: 「nodejs チュートリアル 」]

2 つの HTTP パケット交換を含む Web ページ リクエスト:

    ブラウザは HTTP リクエスト パケットを HTTP サーバーに送信します。
  • HTTP サーバーは HTTP パケットをブラウザに返します。
HTTP サービスは何をしますか?

  • 分析受信 HTTP リクエスト メッセージ
  • リターン 対応する HTTP リターン メッセージ

実装単純な HTTP サーバー

新しい

http.js ファイルを作成し、次のコードを記述します:

// http 是 Node 自带的包,在这里加载引入
const http = require('http')

// 通过 http.createServer 创建一个 Web 静态服务器
http.createServer(function (request, response) {
  // 监听到请求之后所做的操作
  // request 对象包含:用户请求报文的所有内容
  // 我们可以通过request对象,获取用户提交过来的数据

  // response 响应对象,用来响应一些数据
  // 当服务器想要向客户端响应数据的时候,就必须使用response对象
  response.writeHead(200);
  response.end('hello world');
}).listen(4000, function () {
  // 通过 listen 监听端口,开启服务
  console.log("服务器已经启动,可通过以下地址:http://localhost:4000");
})
ログイン後にコピー

ターミナル実行コマンド:

node http.js

Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明#サービスが開始されていることがわかります。Chrome で開きます

http://localhost:4000

:

Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明 ページに

response.end()

の内容が表示されており、このような簡単な HTTP サーバーが実装されています。

fs モジュールは静的リソースを読み込みます新しい

index.js

ファイルを作成します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">// 加载模块 const http = require(&amp;#39;http&amp;#39;) const fs = require(&amp;#39;fs&amp;#39;); // 创建服务 http.createServer(function (request, response) { console.log(request.url); response.writeHead(200); response.end(); }).listen(3000)</pre><div class="contentsignin">ログイン後にコピー</div></div>ターミナル実行:

nodeindex.js

、ブラウザが開きます localhost:3000

Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明2 つのリクエストがここに送信されます。1 つは現在の URL

http://localhost:3000/

に対するリクエスト、もう 1 つは右上隅のアイコン http://localhost:3000/favicon.ico に対するリクエストです。

Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明 次に、

/favicon.ico

のリクエストに対して何らかの処理を実行し、200 ステータス コードを直接返し、# を渡します。 ##fs静的リソースを処理するモジュール:

// 加载模块
const http = require(&#39;http&#39;)
const fs = require(&#39;fs&#39;);

// 创建服务
http.createServer(function (request, response) {
  // console.log(request.url);
  // 如果是图标请求则直接返回 200
  if (request.url == &#39;/favicon.ico&#39;) {
    response.writeHead(200);
    response.end()
    return
  }

  response.writeHead(200);
  // fs 是文件模块,通过 createReadStream 可以读取本地文件,这里读取的是目录下的 index.html 文件
  // 通过 pipe 写入响应对象
  fs.createReadStream(__dirname + &#39;/index.html&#39;).pipe(response)
}).listen(3000)
ログイン後にコピー
index.html

ファイルの内容は次のとおりです:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>实现一个简单的HTTP服务器</title>
</head>
<body>
  <div>hello HTTP服务</div>
</body>
</html>
ログイン後にコピー
ターミナル操作: nodeindex.js

サービスの開始:

この HTTP サーバーがコンピューターの静的リソース Node.js を使用した単純な HTTP サーバーの構築に関する簡単な説明index を与えていることがわかります。 html

をブラウザに送信します。

コンピュータの静的リソースを読み取るこのような単純な HTTP サーバーが実装されました。

この HTTP サーバーは、Node.js の 2 つの組み込みモジュール

http

fs を使用します。Node.js には、これを実現するのに役立つモジュールが他にもたくさんあります。強力なモジュール、Node.js エコシステムをより強力にするのはこれらのモジュールです。 コードは次のとおりです:

https://github.com/V-vincent/node-introduction

プログラミング関連の知識の詳細については、をご覧ください:

プログラミングビデオ
! !

以上がNode.js を使用した単純な HTTP サーバーの構築に関する簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!