ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js の http モジュールについて話しましょう
この記事では、Node の http モジュールについて説明し、http モジュールを使用してサーバーを作成する方法について説明します。皆様のお役に立てれば幸いです。
とは何ですか:
ハイパー テキスト転送プロトコル (ハイパー テキスト)転送プロトコル (HTTP) は、通常 TCP 上で実行される単純な要求/応答プロトコルです。クライアントがサーバーに送信できるメッセージの種類と、クライアントが取得する応答の種類を指定します。要求メッセージと応答メッセージのヘッダーは ASCII の形式で指定されますが、[9] メッセージの内容は MIME に似た形式になります。この単純なモデルは、開発と展開を非常に簡単にしたため、Web の初期の成功に役立ちました。 JavaSE の基礎を学習したことがあれば、ネットワーク プログラミングに精通しているはずです もちろん、まだでなくても大丈夫です。良心的な著者があなたに何を言っているか教えてください。 :
1.1. ネットワーク通信プロトコル
2022 年の今日、電子メールであれ、コンピュータ ネットワークであれ、人々の日常生活に欠かせないものとなっています。友人とのインスタント メッセージング、ショート ビデオ エンターテイメント... コンピューター ネットワークを介して複数のコンピューターを接続できると言えます。 コンピュータネットワークは、伝送媒体、通信設備、ネットワーク通信プロトコルを介してネットワーク下の複数のコンピュータ装置を接続し、リソースの共有とデータ伝送を実現します。
しかし、同じネットワーク上のコンピュータが接続して通信するときは、特定のルールに従う必要があります。コンピュータ ネットワークでは、接続と通信に関するこれらのルールはネットワーク通信プロトコルと呼ばれます:
ここで説明している http プロトコルは、tcp に基づいて実装されています。一般的な http アプリケーション シナリオでは、ブラウザにアドレスの文字列を入力し、Web ページを返します。1.2. IP アドレスとポート番号
ネットワーク内のコンピューターが通信できるようにするには、各コンピューターにも ID を割り当てる必要があります。データを受信するコンピュータまたはデータを送信するコンピュータを指定する番号。 LAN 上のコンピュータの IP アドレスを確認します
Windows コンピュータで WIN R を押し、cmd と入力してコンソールにすぐに入りますipconfig
IP アドレスを使用して指定したコンピューターに接続できますが、ターゲット コンピューター上のアプリケーションの 1 つにアクセスする場合は、ポート番号も指定する必要があります。
例: MySQL の 3306、TomCat の 8080
2。http モジュールを使用してサーバーを作成します#Node.js は http モジュールを提供します。http モジュールは主に HTTP サーバーとクライアントの構築に使用されます。HTTP サーバーまたはクライアント機能を使用するには、http モジュールを呼び出す必要があります。
2.1、厚い蓄積 (詳細な紹介、使用されるオブジェクト メソッドの詳細な紹介、http サービス構築プロセス全体)
プロセスの紹介:
最初に createServer() メソッドを使用してサーバー オブジェクトを登録し、
次に、このサーバー オブジェクトを使用して on() メソッドを呼び出して、イベントをリッスンして処理します。
listen() メソッドを呼び出してポート番号をバインドします
まずは試してみてください:
// 首先导入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/');
コード実行デモ:
上述代码演示十分细节,但是实际开发起来,不建议这样一步步写,过于繁琐了
接下来跟着作者,让我们继续优化一下代码,让代码更加牛逼且简洁
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);
当然
这
还不够好
还可以更好!
直接一个createServer()解决一切:
var http = require('http') // 创建服务器 http.createServer( (req, res) =>{ // 永远相信美好的事情即将发送 }).listen(8888);
看到这里,恭喜你已经入门了nodeJS的http模块 此时此刻的你 已经掌握了如下技能
请继续关注作者,接下来 我们将学习
更多node相关知识,请访问:nodejs 教程!
以上がNode.js の http モジュールについて話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。