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

推薦する

負荷分散と動的および静的分離操作を実現するDocker NginxコンテナとTomcatコンテナ

Tomcat8 イメージをダウンロード [root@localhost ~]# docker sea...

Vue3のdefineComponentの役割についての簡単な説明

目次defineComponent オーバーロード関数開発実務defineComponent 関数は...

MySQL クロスデータベーストランザクション XA 操作の例

この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...

Navicat を仮想マシン MySQL に接続する際によくあるエラーと解決策

質問1 解決するサービスを開始します: service mysqld start; /sbin/ip...

MySQLのSQL文はインデックスを使用しません

インデックス集約を使用しない MySQL クエリご存知のとおり、インデックスを追加することはクエリ速...

CSSは背景画像の画面適応を実現する

ログインページなどのホームページを作成する場合、大きな背景画像を配置する必要があり、さまざまな画面の...

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...

Kubernetes (k8s) 入門

Kubernetes は面白そうだったので(ギリシャ人なら名前に問題があると思うでしょうが)、ずっと...

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

JavaScript を使用した数独の完全な実装プロセス

目次序文数独の解き方最初のボックスに記入してください2番目のボックスに記入してください3番目のボック...

MySQL の隠し列の詳細表示

目次1. 主キーが存在する2. 主キーはないが、一意のインデックスが存在する3. 共同主キーまたは共...

Windows 8 での MySQL 5.6.15 のインストールと設定方法のグラフィック チュートリアル

MySQLは私がとても気に入っているデータベースです。今日はWindows 8システムでインストール...

ネイティブjsは9マスグリッドのドラッグアンドドロップを実現します

ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...

マークアップ言語 - 画像の置き換え

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

MySQL 外部キー制約の無効化と有効化コマンド

MySQL 外部キー制約の無効化と有効化: MySQL 外部キー制約が有効になっているかどうかは、グ...