この記事では、Node.js の http モジュールについて理解します。

青灯夜游
リリース: 2023-01-05 20:31:05
転載
2256 人が閲覧しました

この記事では、Node.js http モジュールについて説明し、http モジュールを使用してサーバーを作成する方法を紹介します。

この記事では、Node.js の http モジュールについて理解します。

1. http

とは百度百科事典で説明されています:

ハイパーテキスト送信プロトコル(ハイパー テキスト転送プロトコル、HTTP) は単純な要求/応答プロトコルであり、通常は TCP 上で実行されます。クライアントがサーバーに送信できるメッセージの種類と、クライアントが取得する応答の種類を指定します。要求メッセージと応答メッセージのヘッダーは ASCII の形式で指定されますが、[9] メッセージの内容は MIME に似た形式になります。この単純なモデルは、開発と展開を非常に簡単にしたため、Web の初期の成功に役立ちました。 JavaSE の基礎を学習したことがあれば、ネットワーク プログラミングに精通しているはずです

もちろん、まだでなくても大丈夫です。良心的な著者があなたに何を言っているか教えてください。 :

1.1. ネットワーク通信プロトコル2022 年の今日、電子メールであれ、コンピュータ ネットワークであれ、人々の日常生活に欠かせないものとなっています。友人とのインスタント メッセージング、ショート ビデオ エンターテイメント... コンピューター ネットワークを介して複数のコンピューターを接続できると言えます。

コンピュータネットワークは、伝送媒体、通信設備、ネットワーク通信プロトコルを介してネットワーク下の複数のコンピュータ装置を接続し、リソースの共有とデータ伝送を実現します。

しかし、同じネットワーク上のコンピュータが接続して通信するときは、特定のルールに従う必要があります。コンピュータ ネットワークでは、接続と通信に関するこれらのルールはネットワーク通信プロトコルと呼ばれます:

この記事では、Node.js の http モジュールについて理解します。ここで説明している http プロトコルは、tcp に基づいて実装されています。一般的な http アプリケーション シナリオでは、ブラウザにアドレスの文字列を入力し、Web ページを返します。

1.2. IP アドレスとポート番号ネットワーク内のコンピューターが通信できるようにするには、各コンピューターにも ID を割り当てる必要があります。データを受信するコンピュータまたはデータを送信するコンピュータを指定する番号。

LAN 上のコンピュータの IP アドレスを確認します

Windows コンピュータで WIN R を押し、cmd と入力してコンソールにすぐに入ります

ipconfig
ログイン後にコピー

この記事では、Node.js の http モジュールについて理解します。IP アドレスを使用して指定したコンピューターに接続できますが、ターゲット コンピューター上のアプリケーションの 1 つにアクセスする場合は、ポート番号も指定する必要があります。

例: MySQL の 3306、TomCat の 8080

2。http モジュールを使用してサーバーを作成します

この記事では、Node.js の http モジュールについて理解します。

#Node.js

は http モジュールを提供します。http モジュールは主に HTTP サーバーとクライアントの構築に使用されます。HTTP サーバーまたはクライアント機能を使用するには、http モジュールを呼び出す必要があります。 [推奨される関連チュートリアル: nodejs ビデオ チュートリアル プログラミング教育 ]

2.1、厚い蓄積 (詳細な説明、使用されるオブジェクトの詳細な紹介)メソッド、http サービス構築プロセス全体)#プロセスの紹介:

まず、createServer() メソッドを使用してサーバー オブジェクトを登録します。
  • 次に、このサーバー オブジェクトを使用して on() メソッドを呼び出し、イベントをリッスンして処理します。
  • listen() メソッドを呼び出してバインドします。ポート番号
  • まずは試してみてください:
ネットワーク サービス アプリケーションでは、常に最初にサービス オブジェクトを作成する必要があります。 nodeJS では、createServer メソッドを使用してこれを実現できます。

// 首先导入http模块
const http = require('http'); 
// 创建http服务对象
const server = http.createServer();
ログイン後にコピー
createServer コンストラクターによって返される Server オブジェクトはイベント エミッターです。ここでは、作成されたサーバー オブジェクトは、独自の on() メソッドを使用するために使用されます。イベントの監視と処理。このようにして、http リクエストが送信されるたびにそれを処理できます。

// 首先导入http模块
const http = require('http'); 
// 创建http服务对象
const server = http.createServer();
// 绑定事件监听
server.on('request', (request, response) => { 
// 永远相信美好的事情即将发生! 
});
ログイン後にコピー
前に(IPアドレスポート)について紹介しましたが、コンピュータがインターネットに接続されている場合、ルーターは自動的にDHCPによってIPアドレスを割り当ててくれますが、コンピュータ上の指定されたプログラムにアクセスしたい場合は、ポート番号も必要です。

コンピュータ上の指定されたプログラムにアクセスするには、listen() メソッドを使用する必要もあります。必要な作業は、server.listen() を使用して、ポート番号をパラメータとして listen メソッドに listen ポートとして渡すことだけです。

// 首先导入http模块
const http = require('http'); 
// 创建http服务对象
const server = http.createServer();
// 绑定事件监听
server.on('request', (req, res) => {  
// 此函数内容只是小小调用一下res参数让程序更加易懂的跑起来
    // 编写响应头(不写浏览器不识别)
    res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'});
    // 发送响应数据
    res.end("<h1>欢迎使用node.js搭建服务</h1>"); 
});
// 绑定端口号
server.listen(8888);

// 控制台打印地址,方便快速调试
console.log('您的http服务启动在  http://127.0.0.1:8888/');
ログイン後にコピー

代码运行演示:

この記事では、Node.js の http モジュールについて理解します。

上述代码演示十分细节,但是实际开发起来,不建议这样一步步写,过于繁琐了

接下来跟着作者,让我们继续优化一下代码,让代码更加牛逼且简洁

2.2、薄发(极简才是王道,优雅!太优雅了!!!)

一步一步注册对象,调各种方法的流程太过繁琐,这里我们用小而美的做法,一步踏天,实现一个http接口:

const http = require('http'); 
const server = http.createServer(function(req,res){ 
  // 永远相信美好的事情即将发生
}).listen(8080);
ログイン後にコピー

每当有 HTTP 请求到达服务器时,createServer 中传入的函数就被自动执行。所以这个函数也被称为是请求处理函数。我们可以直接在里面传入事件监听的回调函数,然后后面点上listen()方法,直接绑定端口号。

但是这样还不够好,是的,还可以更好,把上面回调函数用箭头函数修饰一下,更加美观。

const http = require('http'); 
const server = http.createServer((req,res) => { 
  // 永远相信美好的事情即将发生
}).listen(8080);
ログイン後にコピー

当然

还不够好

この記事では、Node.js の http モジュールについて理解します。

还可以更好!

直接一个createServer()解决一切:

var http = require('http')

// 创建服务器
http.createServer( (req, res) =>{  
    // 永远相信美好的事情即将发送
 }).listen(8888);
ログイン後にコピー

この記事では、Node.js の http モジュールについて理解します。

看到这里,恭喜你已经入门了nodeJS的http模块 此时此刻的你 已经掌握了如下技能

  • 实例化一个 HTTP 服务,绑定一个处理请求的函数,并对某个特定端口进行监听。

请继续关注作者,接下来 我们将学习

  • request 中获取请求头,访问路径,方法以及消息体。
  • response 象发送响应头,HTTP 状态码以及消息体。
  • server.on()的相关参数 进行错误、超时、连接·····等等情况的处理

更多node相关知识,请访问:nodejs 教程

以上がこの記事では、Node.js の http モジュールについて理解します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート