ノードにおけるhttpモジュールの使用と実行プロセス

ノードにおけるhttpモジュールの使用と実行プロセス

ノードにおけるhttpの役割は何ですか?

httpモジュールの役割は、サーバーの作成と記述を支援することです。

実行プロセス

1. httpモジュールをロードする

定数 http = require('http')

2. http.createServerメソッドを使用してWebサーバーを作成し、サーバーインスタンスを返します。

定数サーバー = http.createServer()

3. データのためのサービスを提供する

リクエストを送信 リクエストを承諾 リクエストを処理 返送(応答を送信)
リクエスト イベントを登録します。クライアントがリクエストすると、リクエスト イベントが自動的にトリガーされ、2 番目のパラメータを持つコールバック関数が実行されます。

server.on('リクエスト',function(){
    console.log('クライアントリクエストを受信しました')
})

4. ポート番号をバインドしてサーバーを起動する

server.listen(3000,()=> {
    console.log("サーバーは正常に起動し、http://127.0.0.1:3000/ からアクセスできます")
})

5. node app.jsが正常に起動しました

ブラウザを開き、http://127.0.0.1:3000/ をコピーして貼り付けます。ブラウザが回転し続けます (ブラウザとのリンクが確立されています)。同時に、ターミナルはクライアントの要求を受信したというメッセージを返します。ターミナルを閉じて Ctrl + C を押すと、ブラウザ サービスは終了します (ブラウザは回転せず、接続が終了します)。

基本的なWebサーバーリクエストの構築

コードは次のとおりです。

定数 http = require('http')

定数サーバー = http.createServer()
// リクエスト イベント ハンドラは 2 つのパラメータを受け取る必要があります // リクエスト オブジェクト // リクエスト オブジェクトは、リクエスト パスなどのクライアントからのリクエスト情報を取得できます // レスポンス オブジェクト // レスポンス オブジェクトは、クライアントにレスポンス メッセージを送信するために使用できます server.on('request', function(request, response) {
    console.log('クライアントのリクエストを受信しました', 'リクエストパスは: '+request.url)
    // レスポンス オブジェクトには write メソッドがあり、これを使用してクライアントにレスポンス データを送信できます。 // write は複数回使用できますが、最後に end を使用してレスポンスを終了する必要があります。そうしないと、クライアントは response.write("hello") を待機し続けます。
    レスポンスを書き込みます("nodejs")
    レスポンス終了()
    // クライアントに私が話し終えたことを知らせ、ユーザーに表示することができます // 現在、サーバーの能力が非常に弱いため、リクエストが何であっても、hello nodejs でしか応答できません
    // 異なるパスを要求し、異なる結果に応答する方法})
server.listen(3000,()=> {
    console.log("サーバーは正常に起動し、http://127.0.0.1:3000/ からアクセスできます")
})

次のステップは、リクエストするための基本的なインターフェースデータを書くことです

さまざまなページに表示されるホームページデータを決定する

ここに画像の説明を挿入

ページデータ…ホームページとは異なるデータ

定数 http = require("http")
定数サーバー = http.createServer()
server.on('request',function(req,res){
    res.writeHead(200,{'Content-Type':'text/plain;charset=utf-8'})
    console.log("リクエストを受信しました。リクエストパスは: "+req.url)
    // res.write("かかと")
    // res.write("world")
    //res.end()
    // 上記の方法はより面倒です // end を使用するとレスポンスを送信できます // 異なるリクエストパスに応じて異なるリクエスト結果を送信します //1. リクエストされたパスを取得します // req.url はポート番号の後のパスを取得します // つまり、すべての URL は / で始まります //2. パスを決定し、レスポンスを処理します const url = req.url
    if(url=="/"){
        constプロジェクト = [
           {
            名前:"Apple",
            価格:"18",
           },
           {
            名前:"バナナ",
            価格:"28",
           },
           {
            名前:"スイカ",
            価格:"20",
           },
           {
            名前:"xxx",
            価格:"100",
           },
           {
            名前:"aaa",
            価格:"100",
           }
        ]
        // レスポンスデータはバイナリデータまたは文字列のみになります // レスポンスデータは数値、オブジェクト、配列、ブール値にすることはできません res.end(JSON.stringify(project))
    }それ以外の場合(url=='/a'){
        定数a = [
            {
             名前:"Apple",
             価格:"aa",
            },
            {
             名前:"バナナ",
             価格:"ww",
            },
            {
             名前:"スイカ",
             価格:"vv",
            },
            {
             名前:"wjcx",
             価格:"bb",
            },
            {
             名前:"wdwa",
             価格:"ww",
            }
         ]
         res.end(JSON.stringify(a))
    }
})
server.listen(3000,function(){
    console.log("サーバーが正常に起動しました。今すぐアクセスできます! http://127.0.0.1:3000/")
})

これで、Node での http モジュールの使用に関するこの記事は終了です。より関連性の高い node http モジュールのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Node.js http モジュールの使用
  • Node.jsはhttpモジュールを使用してサーバーとクライアントの完全な例を作成します。
  • NodeJS http モジュールの使用例 [Web サーバー/クライアントの作成]
  • Nodejs コアモジュールでの net と http の使用に関する詳細な説明
  • node.js http モジュール例のデモの詳細な説明
  • Node.js アドバンスドコアモジュール https の紹介
  • Node.js の http モジュールを使用して get および post リクエストを送信する方法の例
  • node.js の http モジュールと url モジュールの簡単な紹介

<<:  Ubuntu 20.04でLNMP環境を構築する方法

>>:  MySQLサービスを開くおよび閉じる2つの方法

推薦する

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...

Linuxのtopコマンド出力の詳細な説明

序文皆さんは Linux で top コマンドを使ったことがあると思います。私は Linux に触れ...

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

Tomcat 経由で JMX 監視を有効にする方法

シミュレーション環境を構築する:オペレーティングシステム: centos7メモリ: 1G 1.8.0...

純粋な HTML タグにどれくらい精通していますか?

以下の HTML タグには、基本的に既存のタグがすべて含まれています。数分かけて 1 つずつ参照する...

ディレクトリスクロール効果を実現するネイティブJS

これはネイティブ JS で実装されたテキスト スクロール効果です。この効果は通常、ニュース、ダイナミ...

jQueryのチェーンプログラミングスタイルの詳細な例

チェーンプログラミングの実装原理jQuery を使用すると、開発者は常にドット構文を使用して独自のメ...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

Windows で MySQL インストーラーを使用して MySQL サービスをインストールするチュートリアル図

MYSQL は、MYSQL サービスやその他のコンポーネントをインストールするためのインストーラ方式...

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

nginx proxy_cache キャッシュ設定の詳細な説明

序文:私は仕事柄、オンラインライブストリーミングの分野に携わっており、ビデオの再生やダウンロードには...

JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...

JSデータ型検出のさまざまな方法の概要

目次背景データ型を決定する方法は何ですか? 1. typeof を使用して基本データ型を決定します。...

Docker を使用してエンタープライズレベルのカスタムイメージを構築する方法

序文退社前に、ある依頼を受けました。基本イメージ規格の変更により、最新の Docker イメージ規格...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...