ノードにおける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 の instr を使用したファジー クエリ メソッドの紹介

MySQL の内部関数instrを使用すると、従来の like クエリ メソッドを置き換えることがで...

sed コマンドを使用して文字列を置換する Linux チュートリアル

文字列を置き換えるには、次の形式を使用する必要があります。 $ sed s/置換対象文字列/置換文字...

MySQL で重複レコードを見つけて削除する方法

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。何らかの歴史的な理由や誤操作...

MySQLスレーブのメンテナンスに関する経験の共有

序文: MySQL マスター/スレーブ アーキテクチャは、最も一般的に使用されるアーキテクチャ セッ...

MySQL の昇順および降順データソートの実装

データの昇順、降順ソート1. フィールド名による単一フィールドのソート順機能:どのフィールドを基準に...

Vue3ナビゲーションバーコンポーネントのカプセル化実装方法

参考までに、Vue3でナビゲーションバーコンポーネントをカプセル化し、スクロールバーのスクロールに合...

MySQL の時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

時間差関数 TIMESTAMPDIFF と DATEDIFF の使用SQL ステートメント、特にスト...

React Fiberの仕組みの詳細な説明

目次React Fiberとは何ですか?なぜReact Fiberなのか? React Fiberは...

Javascript における非同期待機の詳細な理解

この記事では、async/await がすべての JavaScript 開発者にとって非同期プログラ...

overflow:hidden の役割の詳細な説明 (オーバーフローの非表示、フロートのクリア、マージンの崩壊の解決)

1. オーバーフロー:非表示 オーバーフロー非表示要素に overflow:hidden が設定さ...

データページング効果を実現する js オブジェクト

この記事の例では、データのページング効果を実現するためのjsオブジェクトの具体的なコードを参考までに...

Vue でルーティング遷移効果を実装する 4 つの方法

Vue ルーター トランジションは、Vue プログラムにパーソナライズされたエフェクトをすばやく簡単...

MySQL 8.0.13 で日付を 0000-00-00 00:00:00 に設定すると発生する問題を解決する

データベース操作を学び始めたばかりです。今日、データを保存していたところ、エラーが発生していることに...

uniappは録音アップロード機能を実現

目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...

国内SNSのホームページを比較・分析して得た経験をみんなで共有(写真)

この記事では、ソーシャル ウェブサイトのホームページを比較分析することで洞察を得て、ソーシャル ウェ...