ホームページ  >  記事  >  ウェブフロントエンド  >  Node.js の http モジュールについて話しましょう

Node.js の http モジュールについて話しましょう

青灯夜游
青灯夜游転載
2022-08-12 20:22:301614ブラウズ

この記事では、Node の http モジュールについて説明し、http モジュールを使用してサーバーを作成する方法について説明します。皆様のお役に立てれば幸いです。

Node.js の http モジュールについて話しましょう

1. 百度百科事典で説明されている http

とは何ですか:

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

1.1. ネットワーク通信プロトコル

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

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

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

Node.js の http モジュールについて話しましょう

1.2. IP アドレスとポート番号

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

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

ipconfig

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

Node.js の http モジュールについて話しましょう例: MySQL の 3306、TomCat の 8080

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

#Node.jsNode.js の http モジュールについて話しましょう は http モジュールを提供します。http モジュールは主に HTTP サーバーとクライアントの構築に使用されます。HTTP サーバーまたはクライアント機能を使用するには、http モジュールを呼び出す必要があります。

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 までご連絡ください。