ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js の http モジュールと URL モジュールの概要

Node.js の http モジュールと URL モジュールの概要

小云云
小云云オリジナル
2018-01-27 13:36:112113ブラウズ

この記事では、node.js の http モジュールと URL モジュールについて簡単に紹介します。この記事では、node.js を学習または使用するすべての人にとって、学習の参考となる価値があります。必要な場合は、以下をフォローしてください。編集者が来て一緒に学びましょう。皆さんのお役に立てれば幸いです。

前書き

この記事では主に、node.js の http モジュールと url モジュールに関する関連コンテンツを紹介し、参考と学習のために共有します。以下では多くを説明しません。詳しい紹介。

1. http モジュールの簡単な紹介

node.js の http 組み込みモジュールを使用して、http サーバーと http クライアントを作成できます。

1. パッケージを導入します

const http = require('http');

2. http サーバーを作成します

var server = http.createServer((req,res)=>{

});

http の .createServer() メソッドを使用して、http サーバー インスタンスを返し、カスタム サーバー変数でそれを受け取ることができます。サーバーはクライアントからリクエストを受信すると、クライアントがアクセスするたびに内部コールバック関数の呼び出しをトリガーします。コールバック関数には、req と res という 2 つのパラメータがあります。req がリクエストを表し、res がレスポンスを表す順序を逆にすることはできません。

コールバック関数の内部ステートメントには res.end(); が含まれている必要があります。これが含まれていない場合、ブラウザはサーバーから応答を受信して​​いないと判断し、ブラウザは常に一時停止状態になるからです。今回はブラウザ内部にタイムアウト機構があり、タイムアウトするとエラーが報告されます。
このコールバック関数で一般的に使用されるコード ステートメントは次のとおりです。

応答ヘッダー、res.writeHead(ステータス コード、{}) を設定します。その中で、一般的に使用される HTTP ステータス コードは 200 (正常に戻る)、404 (ページ) です。見つからない、エラーを返す)など。 2 番目のパラメーターはオブジェクトで渡され、応答テキストのレンダリング解析タイプを設定するために使用されます。たとえば、HTML コードで一般的に使用される設定は、res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"}); です。 CSS ファイルの設定は res.writeHead(200,{"Content-Type":"text/css"}); です。写真の設定は res.writeHead(200,{"Content-Type":"image/jpg"}); です。プレーンテキストの場合、設定は res.writeHead(200,{"Content-Type":"text/plain"}); 返されたコンテンツを設定します。 res.write('');

3.特定のポート番号

カスタム変数サーバーを使用して、指定されたポート番号をリッスンするために作成されたサーバーを表します。 server.listen(3000,'192.168.155.1'); 外部クライアントは、この IP アドレスとポート番号を介してこのサーバーにアクセスできます。

この時点では、サーバーが一時停止状態にあることを意味します。この時点で、ブラウザに対応する IP アドレスとポート番号を入力して、サーバーの応答内容を取得します。

2. URLモジュールの簡単な紹介

const http = require('http');
var server = http.createServer((req,res)=>{
 console.log(req.url);
 res.end();
});
server.listen(3000,'192.168.155.1');

nodeコマンドを使用してこのサーバーを開くと、アクセスしたクライアントのURLアドレス情報をコンソールにリアルタイムで出力できます。

Chromeブラウザ経由でアクセスする場合、デフォルトでは各アクセスに/favicon.icoへのリクエストが伴うため、ブラウザでクライアントの実際のアクセスアドレスを解析すると以下のような処理が可能です。

const http = require('http');
var server = http.createServer((req,res)=>{
 if(req.url == '/favicon.ico'){
  return;
 };
 console.log(req.url);
 res.end();
});
server.listen(3000,'192.168.155.1');


上の図に示すように、req.url を通じてユーザーの完全なリクエスト アドレスを取得できます。組み込みの URL モジュールを使用してユーザーのリクエスト アドレスを解析できます。

1. パッケージを導入します

const url = require('url');
2. 一般的に使用されるメソッドは url.parse(req.url) です

このメソッドは、完全な URL アドレスをオブジェクトに分解するためによく使用されます。

const http = require('http');
const url = require('url');
var server = http.createServer((req,res)=>{
 if(req.url == '/favicon.ico'){
  return;
 };
 console.log(url.parse(req.url));
 res.end();
});
server.listen(3000,'192.168.155.1');


最も一般的に使用されるのは、/ で始まりクエリ部分を含まないファイル パスの文字列を取得する url.parse(req.url).pathname です。 url.parse(req.url).query を使用して、文字列のクエリ部分を取得します。 url.parse() メソッドの 2 番目のパラメータは true で、すべてのクエリをオブジェクト形式に変換できます。

 console.log(url.parse(req.url,true).query);


このようにして、クライアントからサーバーに送信されたデータを GET を通じてすばやく取得できます。

関連する推奨事項:

Node.js の HTTP モジュールとイベント モジュールの詳細な説明

NodeJS 学習メモ Http module_node.js

golang は http モジュールを使用して Redis 読み取り/書き込みクエリ API を構築します

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。