ノードにおける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つの方法

推薦する

MySQL パフォーマンスの最適化: インデックスを効率的かつ正しく使用する方法

実践こそが真実をテストする唯一の方法です。この記事では、インデックスの全体的な使用法についてのみ説明...

CSS3を使用してトランジションとアニメーション効果を実現する

JS アニメーションの代わりに CSS アニメーションを使用する必要があるのはなぜですか? Java...

静的ウェブサイトをRSSに変換するツール

<br /> この記事は allwebdesignresources.com から Ra...

CSS3は、Transformを使用して動く2D時計を作成します。

これでtransformコースは終了です。例を見てみましょう。transform transform...

JavaScript が Jingdong の虫眼鏡の特殊効果を模倣

この記事では、Jingdong虫眼鏡を模倣したJavaScriptの具体的なコードを参考までに共有し...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

<br />原文: プログレッシブエンハンスメントを理解するアーロン・ガスタフソン翻訳:...

MySQL データベース クエリ パフォーマンス最適化戦略

クエリを最適化するExplain ステートメントを使用してクエリ ステートメントを分析するExpla...

WeChatアプレット+mqtt、esp8266温度と湿度の読み取り実装方法

まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...

MySQL パーティションテーブルの正しい使用方法

MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...

Linux スケジュールタスクの関連操作の概要

皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...

MACOS で MySQL ルートパスワードを忘れた場合の解決策

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

Vue3の一般的なAPIの使用方法の紹介

目次ライフサイクルの変化反応的な参照vue2.x では ref を使用して要素タグを取得します。vu...

Vueでフォーム検証を実装する方法

1. インストールと使用まず、Vue プロジェクトにインストールします。 npm インストール --...