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

推薦する

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

MySQL の削除に基づく構文エイリアスの問題

目次MySQL 削除構文エイリアスの問題mysql の delete ステートメントでエイリアスを使...

Vue.js でフォントを読み込む正しい方法

目次font-faceでフォントを正しく宣言するフォントをプリロードするフォントをホストするにはli...

WMLタグの概要

構造関連タグ--------------------------------------------...

MySQLデータベースとOracleデータベース間のバックアップをインポートする

OracleデータベースからエクスポートされたデータをMySqlデータベースにインポートします。 1...

mysql の追加、削除、変更、クエリの基本ステートメント

文法以下は、MySQL テーブルにデータを挿入するための INSERT INTO コマンドの一般的な...

MySQLエラー10061を解決する方法

この記事では、「'localhost' (10061) の MySQL サーバーに接...

HTML で JavaScript の全選択/全選択解除操作を実行するサンプル コード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...

PhpStormがVirtualBoxに接続できない問題を解決する

問題の説明: phpstorm の SFTP ホストを 192.168.122.1 に設定すると、接...

LeetCode の SQL 実装 (175. 2 つのテーブルの結合)

[LeetCode] 175.2つのテーブルを結合する表: 人物+-------------+--...

HTMLファイルで外部CSSファイルを導入する場合のパスの書き方について簡単にまとめます

1. 外部CSSファイルの基本スタイルをインポートする<link> タグを使用して外部ス...

nginx ssl を設定して https アクセスを実装する手順 (初心者向け)

序文サーバーを展開した後、私は大きな喜びを感じながら自分の Web サイトにアクセスし、見たものすべ...

Zabbix は DingTalk のアラーム機能を画像付きで設定します

実装のアイデア:まず、アラーム情報にはitemidが必要です。これは前提条件です。情報に渡されるパラ...

スネークゲームのウェブ版を実装するためのJavaScript

この記事では、ウェブページのスネークゲームを実装するためのJavaScriptの具体的なコードを参考...

docker-maven-pluginを使用してデプロイメントを自動化する方法を説明します

1. docker-maven-pluginの紹介私たちの継続的インテグレーションプロセスでは、プロ...